帮我写一个vue的防抖函数
时间: 2023-08-28 12:18:15 浏览: 110
浅析VUE防抖与节流
5星 · 资源好评率100%
好的,以下是一个基于 Vue 的防抖函数实现:
```javascript
export default {
methods: {
debounce(func, delay) {
let timer = null;
return function (...args) {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
}
}
```
使用时,可以在组件的方法中调用该函数,传入需要执行的函数和延迟时间,例如:
```javascript
methods: {
handleClick: debounce(function () {
console.log('click event debounced');
}, 1000)
}
```
这样,当点击事件被触发时,该函数会被防抖处理,延迟 1000ms 执行,可以有效地减少重复执行的次数。
阅读全文