观察除一个对象之外的所有元素

时间:2014-10-01 14:53:51

标签: angularjs

我的代码中有一块手表

scope.$watch(foo, function () {
   ...
}, true);

这确保了如果对象foo中的任何属性发生变化,那么将调用此监视。我想对此例外。如果foo中的任何属性发生变化,我想调用此监视。如果该属性发生更改,则不应调用此监视。这怎么可能?

1 个答案:

答案 0 :(得分:3)

我可以想到两种不同的方法:

选项1,只需在$watch函数的开头处理它:

scope.$watch(foo, function (newVal, oldVal) {
   if(newVal.propertyThatYouDontWantToWatch === oldVal.propertyThatYouDontWantToWatch)
        return;
   /* Normal Code here*/
}, true);

选项2,定义您不想这样看的属性(我非常确定此选项不会触发您$watch的{​​{1}} } object):

foo
相关问题