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

angularjs – $ rootScope $ broadcast vs. $ scope $ emit

发布时间:2020-12-17 09:33:04 所属栏目:安全 来源:网络整理
导读:现在,$ broadcast和$ emit之间的性能差异已经消除,是否有任何理由喜欢$ scope。$ emit到$ rootScope。$ broadcast? 他们是不同的,是的。 $ emit限制在范围层次结构(向上) – 这可能是好的,如果它适合你的设计,但在我看来,一个相当任意的限制。 $ root
现在,$ broadcast和$ emit之间的性能差异已经消除,是否有任何理由喜欢$ scope。$ emit到$ rootScope。$ broadcast?

他们是不同的,是的。

$ emit限制在范围层次结构(向上) – 这可能是好的,如果它适合你的设计,但在我看来,一个相当任意的限制。

$ rootScope。$ broadcast在所有选择监听事件的工作,这是一个更明智的限制在我心中。

我缺少什么?

编辑:

为了澄清回答一个答案,调度的方向不是我的问题。 $ scope。$ emit调度事件向上,$ scope。$ broadcast – 向下调用。但是为什么不总是使用$ rootScope。$ broadcast来达到所有预期的监听器呢?

tl; dr(this tl; dr is from @sp00m‘s answer below)

$emit dispatches an event upwards … $broadcast dispatches an event downwards

详细说明

$ rootScope。$ emit只允许其他$ rootScope监听器捕获它。这是很好的,当你不想让每个$ scope获得它。主要是高层次的沟通。想想它是成年人在房间里互相交谈,所以孩子们听不到他们。

$ rootScope。$ broadcast是一种几乎可以听到的方法。这将是等同于父母大吼大叫,晚餐已准备好,所以每个人在房子听到它。

$ scope。$ emit是当你想要$ scope和其所有父项和$ rootScope听到事件。这是一个孩子在家里向他们的父母呜咽(但不是在杂货店,其他孩子可以听到)。

$ scope。$ broadcast用于$ scope本身及其子节点。这是一个孩子耳语给它的毛绒动物,所以他们的父母听不到。

(编辑:李大同)

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

    推荐文章
      热点阅读