timer 可以放在data里 也可以放在挂在全局里 这儿是放在全局
第二种写法 utils
中的写法
export function debounce(func, wait, immediate) {
var timer;
return function () {
var _this = this;
if (timer) clearTimeout(timer);
if (immediate) {
let callNow = !timer;
timer = setTimeout(function () {
timer = null;
}, wait)
if (callNow) this[func]()
} else {
timer = setTimeout(function () {
this[func]()
}, wait);
}
}
}
组件中的写法