2015-12-09 11 views
0

Я пытаюсь установить переменную ng-show isloggedout с рабочим значением cookie, которое работает (поэтому $ scope.isloggedout является либо истинным, либо ложным), который должен вызывать ng-show или ng- скрыть, что явно не работает.Ng-Show With Cookies

My App контроллер:

app.controller('projectCtrl', ['$scope', '$http', '$location', '$cookies', '$cookieStore', '$window', 
function($scope, $http ,$location,$cookies,$cookieStore,$windows) { 
    $scope.isloggedout = $cookieStore.get('value'); 
}]); 

Мой HTML:

<html ng-app="rjtApp" ng-controller="projectCtrl"> 
    <div > 
    <ul class="nav navbar-nav navbar-right" > 
    <li><a href="#Signout" >Login <span class="glyphicon glyphicon-user" ng-show="isloggedout"></span></a></li> 
    <li><a href="#Login" >LogOut <span class="glyphicon glyphicon-user" ng-show="!isloggedout"></span></a></li></ul> 
    </div> 
</html> 

любая помощь?

+0

есть ли причина, почему нет тега тело в вашем HTML-код? – Gianmarco

ответ

0

Я пробовал ваш код, и я не могу понять, почему вы это делаете, используя директиву ng-show только в промежутке. Я могу думать, что вы хотите либо показать или скрыть одну кнопку, так что я адаптировал свой HTML:

<html ng-app="rjtApp" ng-controller="projectCtrl"> 
<body> 
    <div> 
     <ul class="nav navbar-nav navbar-right"> 
      <li ng-show="isloggedout"><a href="#Signout">Login <span class="glyphicon glyphicon-user"></span></a></li> 
      <li ng-hide="isloggedout"><a href="#Login">LogOut <span class="glyphicon glyphicon-user"></span></a></li> 
     </ul> 
    </div> 

<!-- You will need to import here your angular.js file and your personal js files. --> 
</body> 
</html> 

Я также советую вам ограничиться вар внутри контроллера, так что вы не будете грязи объем. Контроллер будет:

app.controller('projectCtrl', ['$scope', '$http', '$location', '$cookies', '$cookieStore', '$window', function($scope, $http ,$location,$cookies,$cookieStore,$windows) { 
    var self = this; 
    self.isloggedout = $cookieStore.get('value'); 
}]); 

и HTML:

<html ng-app="rjtApp" ng-controller="projectCtrl as pc"> 
<body> 
    <div> 
     <ul class="nav navbar-nav navbar-right"> 
      <li ng-show="pc.isloggedout"><a href="#Signout">Login <span class="glyphicon glyphicon-user"></span></a></li> 
      <li ng-hide="pc.isloggedout"><a href="#Login">LogOut <span class="glyphicon glyphicon-user"></span></a></li> 
     </ul> 
    </div> 

<!-- You will need to import here your angular.js file and your personal js files. --> 
</body> 
</html> 

 Смежные вопросы

  • Нет связанных вопросов^_^