vue3写法指令
在main.js中
在app上挂载该方法
app.directive(
'preventReClick', {
mounted: function (el, binding) {
el.addEventListener('click', () => {
const events = el.style.pointerEvents
if (events == "") {
el.style.pointerEvents = 'none'
setTimeout(() => {
el.style.pointerEvents = "";
}, binding.value || 1000);
}
})
}
}
)
在需要用的页面的标签上加上v-preventReClick
这里直接填也可以 v-preventReClick 默认是1秒, v-preventReClick=“2000” 表示延迟2秒
<div class="icon-button" @click="save" v-preventReClick="2000">
vue2指令
1.在utils文件夹下新建preventReClick.js文件
export default {
install(Vue) {
Vue.directive('preventReClick', {
inserted(el, binding) {
el.addEventListener('click', () => {
const events = el.style.pointerEvents
if (events == "") {
el.style.pointerEvents = 'none'
setTimeout(() => {
el.style.pointerEvents = "";
}, binding.value || 1000);
}
})
}
})
}
}
2.main.js引入
//引入
import preventReClick from './utils/preventReClick'
//注册
Vue.use(preventReClick)
3.使用
这里直接填也可以 v-preventReClick 默认是1秒, v-preventReClick=“2000” 表示延迟2秒
<div class="icon-button" @click="save" v-preventReClick="2000">