notMoreTap(means, clickName, ...data) {
// means是点击后需要执行的方法
// clickName是一个变量的名字控制是否是第一次点击,在使用时请传入字符串
// data是点击需要传的参数:用逗号隔开就可以,...为剩余运算符,除去前两位传的参数,剩下的传的参数都会留在data里
let that = this;
if (that[clickName]) {
// 第一次点击
that[clickName] = false;
if (data && data.length > 0) {
if (data.length != 0 && data[0] != "") {
means(...data);
}
} else {
means();
}
setTimeout(() => {
that[clickName] = true;
}, 1500);
} else {
// uni.showToast({
// title:'请不要重复点击',
// icon:'none'
// })
return;
}
},
使用的时候只需将点击函数的名字放到它的第一个参数位置,后续参数依次用逗号隔开就好
<div class="evaluate" v-if="!dvalue.is_follow" @click.stop="notMoreTap(follow_click, 'tap', $event, dvalue)" ></div>
这里需注意:需要再data中定义一个默认状态tap为true的状态(将其放在参数的第二位,格式为字符串),不然会一直默认走else
data(){
return{
tap: !0, // 多次点击所需的状态
}
}