Angularjs 变量更改时刷新外部导航-角度

Angularjs 变量更改时刷新外部导航-角度,angularjs,Angularjs,在我的index.html文件中,我有站点导航。这是我的SPA主页。导航根据用户是否登录而改变。当用户登录并且在名为cookieSet的范围内设置变量时,我设置了一个cookie。这是一个ajax调用,因此没有页面刷新 当该变量更改时,是否可以刷新控制器运行的HTML 我是这样做的: // set the variable capApp.controller('cookieCtrl', ['$scope','$cookies', function($scope, $cookies) { //

在我的index.html文件中,我有站点导航。这是我的SPA主页。导航根据用户是否登录而改变。当用户登录并且在名为
cookieSet
的范围内设置变量时,我设置了一个cookie。这是一个ajax调用,因此没有页面刷新

当该变量更改时,是否可以刷新控制器运行的HTML

我是这样做的:

// set the variable
capApp.controller('cookieCtrl', ['$scope','$cookies', function($scope, $cookies) {
  // set variable for nav
  $scope.cookieSet = $cookies.user_id;
}]);
index.HTML页面中的HTML:

<div id="siteNav" ng-controller="cookieCtrl">
  <nav class="className" role="navigation" ng-show="!cookieSet">
    <!-- NO cookieSet variable, show this -->
  </nav>
  <nav class="className" role="navigation" ng-show="cookieSet">
    <!-- cookieSet variable IS SET, show this -->
  </nav>
</div>


当用户注销时,cookie被杀死,我进行页面刷新,当用户登录并设置cookie时,因此我需要监视
cookieSet
变量的变化,然后刷新导航-这可能吗?

当用户注销时,将
$cookieSet
设置为
null
-它应该触发
$digest
循环并刷新视图。但它不是视图,而是视图被注入到
中间的实际外部html…这里…
只要它在控制器的范围内,ng show(和其他绑定)将被重新评估,因此,tymeJV的解决方案应该是可行的。我个人刚刚将身份验证控制器(在您的例子中是CookieCetrl)连接到主容器甚至主体,因此用户信息绑定随处可见。