在main.js 创建全局指令
Vue.directive('throttle', {
inserted(el, binding) {
el.addEventListener('click', () => {
el.style.pointerEvents = 'none';
if (!el.disabled) {
setTimeout(() => {
el.style.pointerEvents = 'auto';
}, binding.value || 2000);
}
});
}
});
在 vue 页面这样用 // 用户若不设置防抖时间,则默认2s v-throttle
<p @click="search" v-throttle="10000">搜索</p>