问题
这是原生版函数节流方法:匿名函数
(注: return function(){}
在methods
中不能执行)
请问, 怎么将其改成vue版呢?
由于在滚动和中文搜索框中十分常用,请教
贴代码:
created(){
window.addEventListener('scroll', () => {
this.debounce()(this._log, 1000);
}
},
methods: {
debounce (fn, idle) {
let setTm;
console.log('debounce')
if (!idle || idle <= 0) return fn;
return function () {
clearTimeout(setTm);
setTm = setTimeout(fn.bind(this, ...arguments), idle);
}
},
_log(){
console.log('_log')
},
}
绑定的方式应该是:
看下fiddle