有观察一组变量的 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(使用前将#替换为@)