gpt4 book ai didi

javascript - AngularJS $watch 函数重复调用 - 如何防止它

转载 作者:行者123 更新时间:2023-12-02 16:12:06 25 4
gpt4 key购买 nike

在函数调用中,我需要检查数组元素的更改。如果发生任何变化,我需要该函数继续执行,否则停止执行。

$scope.myFunction = function() {
$scope.watchCollection('checkedCountry',function(newval,oldval) {
if (newval!==oldval) {
console.log("dothings"); // this is executing multiple times.
}
})
}

但是对于 myFunction 的一次调用,我得到了多次 dothings 的输出。

我只需要它在函数调用和集合更改时工作一次。

最佳答案

根据您共享的代码,要设置的监视数量与调用函数 myFunction 的次数成正比。因此,每次调用 myFunction 时都会设置一个新的监视。因此,对集合的更改将触发所有监视。

通常, watch 是在某种类型的初始化函数中设置的,该函数仅被调用一次。

我建议将您的 watch 设置移至 myFunction 调用之外。

关于javascript - AngularJS $watch 函数重复调用 - 如何防止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com