debounce(func, delay = 500) {
let _this = this;
let args = arguments;
return (function () {
if (_this.timeout) {
clearTimeout(_this.timeout);
}
_this.timeout = setTimeout(() => {
func.apply(_this, args);
}, delay);
})();
}
// 使用
this.$utils.debounce(this.dosomething);
throttle(fn, time = 500) {
let _this = this;
let args = arguments;
return (function () {
if (_this.timeout) {
return;
}
_this.timeout = setTimeout(() => {
_this.timeout = null;
}, time);
fn.apply(_this, args);
})();
}
// 使用
this.$utils.throttle(this.dosomething);
Vue 防抖节流获取this问题的相关教程结束。