util.js
// 处理防止多次点击
export const noMultipleClicks = (fn, a) => {
// fn是需要点击后需要执行的函数, a是点击需要传的参数
let that = this;
if (that.noClick) {
// 第一次点击
that.noClick= false;
if(a && a !== '') {
fn(a);
} else {
fn();
}
setTimeout(()=> {
that.noClick= true;
}, 2000)
}
}
main.js
import noMultipleClicks from '@/util.js';
Vue.prototype.$noMultipleClicks = noMultipleClicks;
index.vue
<template>
<view>
<view @click="$noMultipleClicks(click,args)"></view>
</view>
</template>
<script>
export default {
data() {
return {
noClick: true,
}
},
methods: {
click(args) {
// do somethings
}
}
}
</script>