gpt4 book ai didi

javascript - 如何一次调用 $watch 中的函数?

转载 作者:太空宇宙 更新时间:2023-11-04 15:36:45 25 4
gpt4 key购买 nike

当内容更改时,我在 Angular Directive(指令)中$watch运行frame.sly(“reload”)函数。

但我应该立即执行此操作,现在内容更改后 console.log 看起来像这样。

日志日志(2)日志(3)日志(4)日志(5)...

并且每次调用frame.sly("reload")函数的次数越来越多。

scope.$watch(

function () {
return scope.value;
},

function (newValue, oldValue) {
if (!angular.equals(oldValue, newValue)) {
$timeout(function() {
console.log("Log");
frame.sly("reload");
}, 300)
}

} ,true);

有什么想法吗?提前致谢。

最佳答案

您可以像这样注销$watch:

var watcher = scope.$watch(

function () {
return scope.value;
},

function (newValue, oldValue) {
if (!angular.equals(oldValue, newValue)) {
$timeout(function() {
console.log("Log");
frame.sly("reload");
watcher();
}, 300)
}

} ,true);

关于javascript - 如何一次调用 $watch 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44285644/

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