我希望在其他控制器发生变化时观察$ 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
});
答案 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
});