在其他页面上观看rootcope

时间:2018-02-20 10:43:41

标签: angularjs angularjs-scope

我希望在其他控制器发生变化时观察$ rootScope的值

情形: 当响应发送时位置发生变化rootScope变量的值为false,当得到响应时为true,所以我想在其他控制器上监听rootscope的值:

 $rootScope.$on('$locationChangeStart', function (event, next, current) {
     $rootScope.loadDisp = false;//listen to this
        AuthenticationService.Login(function (_data) {
            $rootScope.loadDisp = true;//listen to this 
})

subcontroller.js

angular.module('acf')
    .controller('homeController', function _ctrl($scope $rootScope) {

     $scope.$watch('$rootScope.loadDisp', function(newValue, oldValue) {
         console.log('*********8888')
            ctrl.pageView = $rootScope.loadDisp;
            console.log(ctrl.pageView)//only runs first time not second time
        });

1 个答案:

答案 0 :(得分:3)

您正在倾听(观看)错误的事件。

$rootScope.$watch('loadDisp', function (newValue, oldValue) {
    console.log('*********8888')
    ctrl.pageView = $rootScope.loadDisp;
    console.log(ctrl.pageView) //only runs first time not second time
});