我得到了一個問題。我想在用戶登錄或退出時顯示隱藏Menuitems。AngularJS顯示隱藏元素只在頁面刷新
所以我寫了一個HomeController的:scope.UserLoggedIn = $window.sessionStorage.getItem('loginToken') != null;
而在我的index.html這樣的:
<div class="collapse navbar-collapse" id="top-navbar">
<ul class="nav navbar-nav">
<li class="pull-left"><a href="/Home">HOME</a> </li>
<li class="pull-right" data-ng-show="UserLoggedIn"><a href="/#/Login" data-ng-click="Logout()">LOGOUT</a></li>
<li class="pull-right" data-ng-hide="UserLoggedIn"><a href="/#/Login">LOGIN</a></li>
<li class="pull-right" data-ng-hide="UserLoggedIn"><a href="/#/register">REGISTER</a></li>
</ul>
</div>
屬性設置正確的,但在菜單消失只有當我刷新頁面。當我註銷時,我必須刷新頁面才能呈現新菜單。
我認爲,即時通訊做是錯誤的:/
定義了'hometController'。它是$ routeProvider定義的一部分嗎?這個值是什麼時候設定的。您可以嘗試使用方法而不是屬性,以便在正確的時間進行評估。有些東西像'scope.UserLoggedIn = function(){return $ window.sessionStorage.getItem('loginToken')!= null;}' – Chandermani
那就是它!非常感謝你 ! – skary