6

在广播和接收广播方面,角度 1.2 rc2 和角度 1.2 之间有什么变化吗?

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

    $scope.$watch('changedRequest', function(newValue, oldValue) {
        $rootScope.$broadcast('onTestingMe')
    });

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

    $rootScope.$on("onTestingMe", function () {
        alert('I am received');
    });

广播似乎有效,但我从来没有收到任何东西到达 $on。

我在 $rootScope 上设置了 $on 和 $broadcast。我的手表在 $scope 上,但这应该不是问题。

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

chrome 控制台中没有收到任何错误。

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

我确实注意到在 RC3 上发生了同样的事情,但我只是把它归结为 RC,所以我回到 RC2 并认为我会等待 1.2 版本......但同样的事情正在发生......

编辑

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

        <div ng-include="template.url" ng-controller="ItemBarCtrl"></div>

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

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

4

1 回答 1

10

这是一个老问题,但我在寻找类似问题时遇到了它。尝试将您$broadcast$timeout函数包装在延迟为 100 左右的函数中。如果$on发生火灾,那么很可能是我在$broadcast火灾$on准备就绪之前遇到的相同问题。我仍在调查该问题以进行修复。

于 2014-03-26T03:49:57.617 回答