vue,非按钮,如何禁止快速的重复点击事件在短时间内多次请求接口导致bug?

比如我现在有一个点赞的icon(图片形式,非button),点击会触发 likeOrCancelLike 方法

目前搜索到的方法大部分是通过 disable 属性来实现的,但是我这不是按钮,所以此类方法都无法生效

阅读 4.2k
6 个回答

设置个开关呗

likeOrCancelLike() {
    if(this.lock) return 
    this.lock = true
    axios.post().then(res => {
        this.lock = false
    })
}

函数节流或防抖

做一个空div吧

新手上路,请多包涵

按钮和非按钮 有区别吗?解决方法又不会变。无论是哪个都会有事件触发。在事件里提前处理就好了

节流,或者防抖函数的思维,一段时间内触发,只执行一次

推荐问题