类似于这样的情况
<div ng-controller="parentCtr">
<div ng-controller="childCtr1">
<div ng-controller="childCtr2">
</div>
</div>
</div>
我需要的是把parentCtr里的变量传给childCtr2
既然childCtr2可以继承parentCtr的scope,那么什么情况下用broadcast
类似于这样的情况
<div ng-controller="parentCtr">
<div ng-controller="childCtr1">
<div ng-controller="childCtr2">
</div>
</div>
</div>
我需要的是把parentCtr里的变量传给childCtr2
既然childCtr2可以继承parentCtr的scope,那么什么情况下用broadcast
13 回答13.1k 阅读
3 回答1.6k 阅读✓ 已解决
7 回答2.3k 阅读
5 回答1.6k 阅读
5 回答1.9k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
前提:
broadcast
是将 事件广播给子scope
。childCtr2 可以 通过继承 反问到 parentCtr 的变量,但但parentCtr中变量发生变化,或者parentCtr中触发事件需要给childCtr2的时候,childCtr2是不知道的(PS: 当然你可以
setTimeout
一直查询parentCtr变量是否有变化)。broadcast
就是这个时候使用,但parentCtr 有变化(比如监听了事件)需要告知childCtr2时,就可以使用broadcast
告知childCtr2,当然childCtr2 要对应监听parentCtrbroadcast
过来的内容。