$watchGroup 与 $watchCollection?

2023-12-19

观察一组变量的 2 种方法 https://docs.angularjs.org/api/ng/type/%24rootScope.Scope在角度。但它们之间有什么区别呢?

他们似乎都做浅表。是否存在其中一种明显优于另一种的情况?


$watchCollection将浅显地观察属性单个对象并在其中一项发生变化时通知您。

$watchGroup然而,观看一组单独的观看表达式。

它们在功能上并不等同。$watchGroup当您想要观察多个应该响应相同回调的表达式时,可以使用 - 这些可以是针对不同对象的单独表达式。这个可以用来观看'foo', 'foo.bar', and 'baz.qux'。这是 3 个不同的目标 -foo, foo's bar财产和baz's qux属性,但它们都会委托给同一个处理程序。

相比之下,$watchCollection只会浅薄地观察单个物体。这使得它对于可能会大量改变其属性的对象来说更好(例如 - 我们自己的$scope)。与我们的垃圾名称示例保持一致,要实现与上面相同的效果,您只想观看foo and baz,但如果有任何更改,您会收到通知foo and baz(而不是仅仅收到有关更改的通知foo本身,foo.bar and baz.qux.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

$watchGroup 与 $watchCollection? 的相关文章