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

Mar*_*tin 5 angularjs angularjs-scope

关于广播和接收广播,角度1.2 rc2和角度1.2之间有什么变化?

我认为我认为是$ watch中的控制器中的标准广播即

    $scope.$watch('changedRequest', function(newValue, oldValue) {
        $rootScope.$broadcast('onTestingMe')
    });
Run Code Online (Sandbox Code Playgroud)

我尝试在另一个控制器中接收它

    $rootScope.$on("onTestingMe", function () {
        alert('I am received');
    });
Run Code Online (Sandbox Code Playgroud)

广播似乎工作,但我从来没有得到任何东西到达$.

我在$ rootScope上设置了$ on和$ broadcast.我的手表是在美元范围内,但这应该不是问题.

我在两个控制器中注入了$ rootScope.

Chrome控制台中没有收到任何错误.

我迷路了,有什么想法吗?

我确实注意到在RC3上也发生了同样的情况,但我只是把它放到一个RC,所以我回到了RC2,并认为我会等待1.2发布....但同样的事情正在发生..

编辑

我能看到的唯一不同的是我使用的是ng-include

        <div ng-include="template.url" ng-controller="ItemBarCtrl"></div>
Run Code Online (Sandbox Code Playgroud)

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

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

小智 10

这是一个老问题,但我遇到了它,正在寻找类似的问题.尝试将您$broadcast$timeout函数包装在延迟100左右的函数中.如果$on火灾,那么很可能我运行中在同样的问题$broadcast火灾前的$on准备.我还在调查修复问题.