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