サービス内に保存されている値に基づいて、メニュー項目を表示および非表示にしようとしています。に保存されている accessToken に基づいて、ユーザーをログインさせる qnd セッション サービスです$cookies.accessToken
。
app.service('Session', function ($cookies, $location) {
var Session = {
isLoggedIn: !! $cookies.accessToken,
accessToken: $cookies.accessToken,
login: function (token, redirectTo) {
this.accessToken = token;
this.isLoggedIn = true;
if (redirectTo) {
$location.path(redirectTo);
}
},
logout: function () {
this.accessToken = false;
this.isLoggedIn = false;
}
};
if (Session.accessToken) {
Session.login(Session.accessToken)
}
return Session;
});
現在、3 つのコントローラーがあり、ngView
ディレクティブを使用して適切なパーシャルを表示しています。ただし、ご想像のとおり、「ログアウト」または「認証」リンクを表示したくありません。
<div class="container">
<nav>
<ul class="nav nav-tabs">
<li><a href="#/public">public</a></li>
<li><a href="#/logout">log out</a></li>
<li><a href="#/auth">auth</a></li>
</ul>
</nav>
<div ng-view></div>
</div>
試してみng-hide="Session.isLoggedIn"
ましたが、うまくいきませんでした。では、私がやろうとしていることを行う正しい方法は何ですか?