类似于这样的情况
<div ng-controller="parentCtr">
<div ng-controller="childCtr1">
<div ng-controller="childCtr2">
</div>
</div>
</div>
我需要的是把parentCtr里的变量传给childCtr2
既然childCtr2可以继承parentCtr的scope,那么什么情况下用broadcast
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
前提: broadcast 是将 事件广播给子scope 。
childCtr2 可以 通过继承 反问到 parentCtr 的变量,但但parentCtr中变量发生变化,或者parentCtr中触发事件需要给childCtr2的时候,childCtr2是不知道的(PS: 当然你可以setTimeout一直查询parentCtr变量是否有变化)。broadcast就是这个时候使用,但parentCtr 有变化(比如监听了事件)需要告知childCtr2时,就可以使用 broadcast告知childCtr2,当然childCtr2 要对应监听parentCtrbroadcast过来的内容。