【发布时间】:2014-11-25 09:18:16
【问题描述】:
您好,我在 Angular 中有一个问题,$scope.$broadcast 仅在页面刷新一次后才更新侦听值:
一个控制器:
$rootScope.$broadcast('myVar', myValue);
听众:
$scope.$on('myVar', function(event, myValue) {
console.log(myValue);
$scope.myValue= myValue;
});
如果我刷新一次页面就可以了,但是在初始加载时侦听器不起作用? 有什么想法吗?
【问题讨论】:
-
如果您将
$on与$broadcast放在同一个文件中,您会看到相同的行为吗?控制器在刷新前是否在页面上? -
如果我将监听器放在同一个文件中,它就可以工作。
-
如果您尝试
$rootScope.$on('myVar',会怎样? -
那也没用?
-
如果它在同一个文件中工作,请检查文件加载的顺序(顺序在
index.html)。由于浏览器会缓存文件,因此刷新后顺序无关紧要。
标签: angularjs broadcast rootscope