我用 Angular 做一个有顶部导航栏的页面应用,一开始用户不登陆导航栏会显示“登录”和“注册”按钮,登录成功之后这两个按钮会消失,代码如下,我是用 ng-show 来控制显隐的,但我现在遇到的问题是当我登录成功之后导航条并不会自动刷新,需要我手动按 F5 刷新后才能隐藏掉“登录”按钮,这是为什么呢?我的代码有什么问题吗?
<nav class="navbar navbar-default" role="navigation" ng-controller="UserCtrl">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#example-navbar-collapse">
<span class="sr-only">切换导航</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" ui-sref="index">许愿墙{{username}}</a>
</div>
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a ui-sref="index">首页</a></li>
<li ng-hide="isLogined"><a ui-sref="user.login">登录</a></li>
<li ng-show="isLogined"><a ui-sref="user.info">个人中心</a></li>
<li ng-show="isLogined"><a ui-sref="user.wish">我的愿望</a></li>
<li ng-show="sex == 'female'"><a ui-sref="user.putwish">许愿</a></li>
<li ng-show="isLogined"><a ng-click='doLogout()'>注销</a></li>
</ul>
</div>
</nav>
<div class="container-fluid" ui-view>
</div>
用ng-if试试