开发者社区 问答 正文

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

类似于这样的情况

<div ng-controller="parentCtr">
<div ng-controller="childCtr1">

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

</div>
</div>

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

展开
收起
杨冬芳 2016-06-08 18:31:02 2150 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业

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

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

    2019-07-17 19:32:34
    赞同 展开评论
问答地址: