我不能让这个导航条只显示其中一个,它显示了它们两个。我做错了什么?
视图:
<!-- Logged in -->
<div ng-show="loggedIn">
Navbar logged in
</div>
<!-- Logged out-->
<div ng-hide="!loggedIn">
Navbar logged out
</div>
</div>
</nav>
控制器:
.controller('mainCtrl', ['$scope', '$state', 'userService',
function($scope, $state, userService) {
$scope.loggedIn = userService.isLoggedIn();
$scope.login = function() {
userService.login();
$state.go('home');
};
$scope.logout = function() {
userService.logout();
$state.go('login');
};
}
]);
删除ng-hide:
<!-- Logged out-->
<div ng-hide="loggedIn">
Navbar logged out
</div>
您需要更新条件
<div ng-hide="!loggedIn">
<div ng-show="!loggedIn">
如果你想用更好的性能来修复这个问题,你不需要在DOM中保留隐藏的导航栏,你可以使用:
<!-- Logged in -->
<div ng-if="loggedIn">
Navbar logged in
</div>
<!-- Logged out-->
<div ng-if="!loggedIn">
Navbar logged out
</div>