当我在 VueJs 中对这个函数进行去抖动时,如果我提供毫秒数作为原语,它就可以正常工作。但是,如果我提供它作为对道具的引用,它会忽略它。
这是道具的缩写版本:
props : {
debounce : {
type : Number,
default : 500
}
}
这是不起作用的监视选项:
watch : {
term : _.debounce(function () {
console.log('Debounced term: ' + this.term);
}, this.debounce)
}
这是一个可以工作的手表选项:
watch : {
term : _.debounce(function () {
console.log('Debounced term: ' + this.term);
}, 500)
}
它怀疑这是一个范围问题,但我不知道如何解决它。如果我按如下方式替换 watch 方法......:
watch : {
term : function () {
console.log(this.debounce);
}
}
...我得到正确的去抖值(500)出现在控制台中。