在角度1.2 rc2和角度1.2之间有什么变化?
我认为我认为是$ watch中的控制器中的标准广播,即
$scope.$watch('changedRequest', function(newValue, oldValue) {
$rootScope.$broadcast('onTestingMe')
});
我尝试在另一个控制器中接收它
$rootScope.$on("onTestingMe", function () {
alert('I am received');
});
广播似乎有效,但我从来没有得到任何东西抵达。
我在$ rootScope上设置了$ on和$ broadcast。我的手表是在美元范围内,但这应该不是问题。
我在两个控制器中注入了$ rootScope。
Chrome控制台中没有收到任何错误。
我迷路了,有什么想法吗?
我确实注意到在RC3上也发生了同样的情况,但我只是把它放到RC上,所以我回到了RC2并且认为我会等待1.2发布....但同样的情况正在发生..
修改
我能看到的唯一不同的是我使用的是ng-include
<div ng-include="template.url" ng-controller="ItemBarCtrl"></div>
也许它的渲染速度不够快?当加载文档并且控制器ItemBarCtrl具有$ on ....
时发送msg我会尝试做一些测试...奇怪的问题!
答案 0 :(得分:10)
这是一个老问题,但我遇到了它,正在寻找类似的问题。尝试将$broadcast
包裹在$timeout
函数中,延迟时间为100左右。如果$on
触发,那么我可能会遇到$broadcast
在$on
准备就绪之前发生的问题。我还在调查这个修复问题。