2016-08-13 42 views
1

我知道我應該這樣做,並且ng-hide =「something」,但我不會從那裏去。不知道我是否還必須在我的logoutController或mainController中編寫另一個函數。 我正在使用Angular 1,並且我試圖在用戶登錄後隱藏我的登錄按鈕?

<ul class="right hide-on-med-and-down"> 
    <li><a ui-sref="login">Login</a></li> 
    <li><a ui-sref="logout" ng-click='logoutCtrl.logout()'>Logout</a></li> 

    </ul> 

</div> 

nav.html

function logoutController($state, AuthService) { 
var vm = this 
    vm.logout = function() { 

// call logout from service 
AuthService.logout() 
    .then(function() { 
    $state.go('login') 
    }) 

}}

app.js

回答

0

這取決於你正在登錄的工作方式,但你可以做

<ul class="right hide-on-med-and-down"> 
    <li><a ng-show="inNotLogged"ui-sref="login">Login</a></li> 
    <li><a ui-sref="logout" ng-click='logoutCtrl.logout()'>Logout</a></li> 

    </ul> 

</div> 

,並在app.js .run設置$rootScope.isNotLogged = true;然後在登錄方法:

$rootScope.isNotLogged = false; 
$scope.isNotLogged = $rootScope.isNotLogged; 

所以在旅遊lgout您將設置

$scope.isNotLogged = true; 
$rootScope.isNotLogged = $scope.isNotLogged; 
+0

感謝。但是我改變了我的控制器(已經驗證當前用戶的代碼)。 – macklin

相關問題