在函数调用中,我需要检查数组元素的变化。 如果发生任何更改,我需要继续执行该功能,否则停止执行。
$scope.myFunction = function() {
$scope.watchCollection('checkedCountry',function(newval,oldval) {
if (newval!==oldval) {
console.log("dothings"); // this is executing multiple times.
}
})
}
但是对于myFunction的单次调用我会得到多次输出。
我需要它只为函数调用工作一次,如果集合发生变化。
答案 0 :(得分:2)
根据您共享的代码,设置的手表数量与调用函数myFunction
的次数成正比。因此,每次拨打myFunction
时,都会设置新手表。因此,对集合的更改将触发所有手表。
通常情况下,手表会在某种类型的初始化函数中设置,只能调用一次。
我建议您在myFunction
电话之外移动手表设置。