gpt4 book ai didi

javascript - Angular ng-show 无法正常工作

转载 作者:行者123 更新时间:2023-11-28 07:56:13 25 4
gpt4 key购买 nike

我有下面的 HTML,然后是下面的 JS 以及我的服务和 Controller :

    <div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right" ng-show="is_authenticated">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Account <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Account</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right" ng-hide="is_authenticated">
<li ng-class="{ active: register }"><a href="#/register">Sign Up</a></li>
<li ng-class="{ active: login }"><a href="#/login">Sign In</a></li>
</ul>
</div>

ng-hide 可以正常工作,但是 ng-show 却不能。

    Auth.is_authenticated()
.success(function(data) {
$scope.is_authenticated = data.authenticated;
});

服务:

    return {
is_authenticated: function() {
return $http.get('/api/users/is_authenticated');
},

当我转到 URL 中的 API 端点时,它返回 `{"authenticated": true}

这是怎么回事?

编辑:

当我在开发人员工具中查看源代码时,由于某种原因,HTML 似乎带有 <ul > 为ng-show甚至不存在。

这是真的吗?

最佳答案

您可以简单地将值更改为 bool 值并进行相应的工作。所以你的 Controller 代码将如下所示:

 Auth.is_authenticated()
.success(function(data) {
$scope.is_authenticated = (data.authenticated. toLowerCase() === "true");
});

关于javascript - Angular ng-show 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com