AngularJS:状态更改后如何刷新页面上所有可见的控制器?-登录后导航
通过使用指令AngularJS:状态更改后如何刷新页面上所有可见的控制器?-登录后导航,angularjs,templates,angular-ui-router,state,Angularjs,Templates,Angular Ui Router,State,通过使用指令navbar并将其包含在index.html中,我成功地使其工作,但在登录后,当我更改状态时,我的navbar不会得到更新。如果我手动刷新页面,那么它将反映更改 有更好的方法吗?谢谢 index.html <navbar></navbar> <div class="container"> <ui-view></ui-view> </div> <ul class="nav navbar-nav
navbar
并将其包含在index.html中,我成功地使其工作,但在登录后,当我更改状态时,我的navbar不会得到更新。如果我手动刷新页面,那么它将反映更改
有更好的方法吗?谢谢
index.html
<navbar></navbar>
<div class="container">
<ui-view></ui-view>
</div>
<ul class="nav navbar-nav navbar-right">
<li><a ui-sref="login" ng-hide="navbar.auth">Login</a></li>
<li><a href="#" ng-click="navbar.Logout()" ng-show="navbar.auth">Logout</a></li>
</ul>
<div ui-view="nav"></div>
<div class="container">
<ui-view></ui-view>
</div>
navbar.html
<navbar></navbar>
<div class="container">
<ui-view></ui-view>
</div>
<ul class="nav navbar-nav navbar-right">
<li><a ui-sref="login" ng-hide="navbar.auth">Login</a></li>
<li><a href="#" ng-click="navbar.Logout()" ng-show="navbar.auth">Logout</a></li>
</ul>
<div ui-view="nav"></div>
<div class="container">
<ui-view></ui-view>
</div>
我最后做的不是对导航栏使用指令,而是对同一状态使用多个视图。这会在状态更改时自动重新加载所有视图
index.html
<navbar></navbar>
<div class="container">
<ui-view></ui-view>
</div>
<ul class="nav navbar-nav navbar-right">
<li><a ui-sref="login" ng-hide="navbar.auth">Login</a></li>
<li><a href="#" ng-click="navbar.Logout()" ng-show="navbar.auth">Logout</a></li>
</ul>
<div ui-view="nav"></div>
<div class="container">
<ui-view></ui-view>
</div>
进一步阅读: