我在尝试更改模式控制器内的$ rootScope时遇到问题,rootcope更改但不会立即反映在视图中直到我刷新页面。 这是我的代码:
.controller('LoginController',function($scope,$rootScope,$modalInstance){
$scope.close = function(){
$rootScope.authentication = true;
}
});
以及在其他控制器中打开模态的代码:
controller('myCtrl',function($scope,$modal){
$scope.openLoginModal = function(){
$scope.loginMdl= $modal.open({
templateUrl:'myview/myloginform.html',
controller:'LoginController'
});
$scope.loginMdl.result.then(
function(){},
function(){}
);
}
});
最后,简单的HTML打开登录模式;
<div ng-controller='myCtrl'>
<button ng-click='openLoginModal()'>Login </button>
</div>
<div>
<p ng-show='authentication'> USER HAS LOGGED IN</p>
</div>
正如您所看到的,我已经更改了&#34;身份验证&#34; $ rootScope的var,但更改不会立即反映在html视图中。 可以有一些建议请。
答案 0 :(得分:1)
尝试
$rootScope.$apply();
要获得应用了rootcope的更改,您必须使用上面的代码。