gpt4 book ai didi

AngularJS:$rootScope.$on 没有收到通过 $rootScope.$broadcast 在 angular v1.2 上发送的消息

转载 作者:行者123 更新时间:2023-12-04 17:22:17 24 4
gpt4 key购买 nike

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

我有我认为是 $watch Controller 中的标准广播,即

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

我尝试像这样在另一个 Controller 中接收它
    $rootScope.$on("onTestingMe", function () {
alert('I am received');
});

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

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

我在两个 Controller 中都注入(inject)了 $rootScope。

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

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

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

编辑

我唯一能看到的不同是我使用的是 ng-include
        <div ng-include="template.url" ng-controller="ItemBarCtrl"></div>

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

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

最佳答案

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

关于AngularJS:$rootScope.$on 没有收到通过 $rootScope.$broadcast 在 angular v1.2 上发送的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com