我有以下角度监视来监视范围变量,并且执行以下操作。我使用debounce将请求捆绑到后端。
var myWatch = $scope.$watch('myQuery', _.debounce(loadMyData, 1000),true);
当此myQuery返回undefined时,我不需要此反跳操作,而是需要直接执行后端调用。
var myWatch = $scope.$watch('myQuery', function(oldquery,newquery){
if(newquery){
_.debounce(loadMyData(newquery), 2000,true);
}else{
loadMyData(newquery);
}
},true);
现在,反跳操作无法正确捆绑我的请求。
最佳答案
您需要将新函数存储在变量中,并在监视监听器中调用它:
var debouncedLoadMyData = _.debounce(loadMyData, 1000, true),
myWatch = $scope.$watch('myQuery', function (oldquery, newquery) {
if (newquery) {
debouncedLoadMyData(newquery);
} else {
loadMyData(newquery);
}
}, true)
;
关于javascript - Angular 条件 watch 调用去抖动方法是否不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26331504/