我的代码中有一块手表
scope.$watch(foo, function () {
...
}, true);
这确保了如果对象foo中的任何属性发生变化,那么将调用此监视。我想对此例外。如果foo中的任何属性发生变化,我想调用此监视。如果该属性发生更改,则不应调用此监视。这怎么可能?
答案 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