前言:
当前你们对“js addeventlistener两次”可能比较关注,咱们都需要学习一些“js addeventlistener两次”的相关知识。那么小编同时在网上收集了一些对于“js addeventlistener两次””的相关内容,希望朋友们能喜欢,姐妹们一起来学习一下吧!在开发中,有些提交保存按钮有时候会在短时间内被点击多次,这样就会多次重复请求后端接口,造成数据的重复,详情接口无法显示报错,比如新增表单的提交按钮,多次点击就会新增多条重复的数据。
问题解决方案如下:
1.在main.js中注册
Vue.directive('debounce', {
inserted(el, binding, vnode) {
let timer = {}
el.addEventListener('click', () => {
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
binding.value()
}, 2000)
})
}
})
2.在按钮中v-debounce绑定
<el-button type="success" icon="el-icon-search" @click="searched()" size="mini" v-debounce="debounceClick">检索</el-button>
3.写一个方法检测是否成功
debounceClick() {
console.log("只触发一次");
},
标签: #js addeventlistener两次 #vue绑定多个点击事件 #js防止连续点击 #前端防止用户连续点击 #后端防止用户连续点击