加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS:$rootScope.$on没有收到通过$rootScope发送的消息.$v

发布时间:2020-12-17 06:50:27 所属栏目:安全 来源:网络整理
导读:关于广播和接收广播,角度1.2 rc2和角度1.2之间有什么变化? 我认为在$watch中控制器中的标准广播即 $scope.$watch('changedRequest',function(newValue,oldValue) { $rootScope.$broadcast('onTestingMe') }); 我尝试在另一个控制器中接收它 $rootScope.$on(
关于广播和接收广播,角度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会触发.我还在调查修复问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读