AngularJS:$rootScope.$on没有收到通过$rootScope发送的消息.$v1.2角广播

前端之家收集整理的这篇文章主要介绍了AngularJS:$rootScope.$on没有收到通过$rootScope发送的消息.$v1.2角广播前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于广播和接收广播,角度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>

也许它的渲染速度不够快?由于在加载文档时发送了msg,并且控制器ItemBarCtrl具有$on ….

我会尝试做一些测试……奇怪的问题!

解决方法

这是一个老问题,但我遇到了它,正在寻找类似的问题.尝试将$broadcast包装在$timeout函数中,延迟时间为100左右.如果$on会触发,那么我可能会遇到同样的问题,因为在$on准备就绪之前,$broadcast会触发.我还在调查修复问题.

猜你在找的Angularjs相关文章