既然scope里的变量是可以继承的,那broadcast的存在意义是什么,我想知道有什么应用场景,新手求大神指教

类似于这样的情况
<div ng-controller="parentCtr">
<div ng-controller="childCtr1">

<div ng-controller="childCtr2">
</div>

</div>
</div>
我需要的是把parentCtr里的变量传给childCtr2
既然childCtr2可以继承parentCtr的scope,那么什么情况下用broadcast

阅读 2.3k
2 个回答

前提: broadcast 是将 事件广播给子scope

childCtr2 可以 通过继承 反问到 parentCtr 的变量,但但parentCtr中变量发生变化,或者parentCtr中触发事件需要给childCtr2的时候,childCtr2是不知道的(PS: 当然你可以setTimeout一直查询parentCtr变量是否有变化)。broadcast就是这个时候使用,但parentCtr 有变化(比如监听了事件)需要告知childCtr2时,就可以使用 broadcast告知childCtr2,当然childCtr2 要对应监听parentCtrbroadcast过来的内容。

broadcast 是事件广播,比如你不同的模块之间想通信,可以用这个。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题