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

前端之家收集整理的这篇文章主要介绍了angularjs – $ rootScope $ broadcast vs. $ scope $ emit前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
现在,$ 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本身及其子节点。这是一个孩子耳语给它的毛绒动物,所以他们的父母听不到。

原文链接:/angularjs/147861.html

猜你在找的Angularjs相关文章