我想根据$ rootScope变量显示Login和Logout按钮。但它在li标签中始终显示注销,如下所述。 我在某些事件上做了一些事情: -
登录后: -
$rootScope.userData = response.userdata;//response.userdata is Object
退出后: -
delete $rootScope.userData;
$rootScope.userData = null;
控制器: -
console.log($rootScope.userData);//Object {}
HTML: -
<li ng-if="$root.userData == null"><a href="#/login"><i class="fa fa-lock"></i> Login</a></li>
<li ng-if="$root.userData != null"><a href="#/logout"><i class="fa fa-lock"></i> Logout</a></li>
答案 0 :(得分:1)
登录ng-if="!$root.userData.length"
退出ng-if="$root.userData.length"
我建议您创建一个MainController
并将登录数据加载到模型中,比如user
并将MainController
添加到您的<body>
标记中,这样您就可以拥有访问登录用户无处不在,而不是将其添加到rootScope。
您可以创建一个service
来判断用户是否已登录并返回数据。通过这种方式,您还可以通过使用该服务检查登录状态,使另一个名为isAuthenticated
的模型具有true
或false
。然后,您只能ng-if="isAuthenticated"
和ng-if="!isAuthenticated"
答案 1 :(得分:0)
使用ng-show代替ng-if ..