在utils.js中封装防抖方法
// 防抖
export const antiShake= (fn, t) => {
let delay = t || 500
let timer
return function () {
let args = arguments;
if (timer) {
clearTimeout(timer)
}
let callNow = !timer
timer = setTimeout(() => {
timer = null
}, delay)
if (callNow) fn.apply(this, args)
}
}
在组件中使用
- 引入
import {antiShake} from 'utils.js'
- 方法中使用
addHandle:DebounceBy(function(){
//方法处理
},1000),
- 注意:如需使用箭头函数,请处理好this指向问题。