我在一个项目中使用 Angularjs。
对于登录注销,我正在设置一个范围变量,如下所示:
$scope.showButton = MyAuthService.isAuthenticated();
在标记中
<li ng-show="showLogout"><a href="#/logout" ng-click="logOut()">Logout</a></li>
当我注销时,它会重定向到登录页面,但注销菜单不会消失。
也试过这样:
$scope.showButton = MyAuthService.isAuthenticated();
在标记中:
<li ng-class=" showLogout ? 'showLogout' : 'hideLogOut' "><a href="#/logout" ng-click="logOut()">Logout</a></li>
似乎范围更改没有反映在我的视图中,但是当我重新加载页面时,“注销菜单”会按预期消失。
我还尝试了如下指令:
MyApp.directive('logoutbutton', function(MyAuthService) {
return {
restrict: 'A',
link: function(scope, element, attrs, controller) {
attrs.$observe('logoutbutton', function() {
updateCSS();
});
function updateCSS() {
if (MyAuthService.isAuthorized()) {
element.css('display', 'inline');
} else {
element.css('display', 'none');
}
}
}
}
});
也没有运气。
注销成功后如何隐藏它以及成功登录后如何显示“注销按钮”?