Angular $ scope。当我将$ scope分配给另一个变量并更改新变量的监视值时,不会触发$ watch

时间:2014-12-16 17:29:56

标签: javascript angularjs scope watch

我的$scope中有一个数组和一个观察者。 Watcher检测到数组属性的更改。 Watcher按预期工作:当我更新数组内容时触发侦听器。

但是,当我将$scope分配给其他变量(var newScope = $scope)时, 然后将项目推送到newScope的数组,不会调用观察者。

Javascript应该通过引用将$ scope分配给newScope吗?因此,$scopenewScope将引用内存中的同一对象。那么,当我修改newScope上的数组时,为什么不调用观察者?

1 个答案:

答案 0 :(得分:0)

如果您将$scope分配给newScope,那么观看$scope除非您更新$scope,否则不会做任何事情。参考不再是$scope您想要关注newScope