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

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

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

阅读 4k
6 个回答

设置个开关呗

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

函数节流或防抖

做一个空div吧

新手上路,请多包涵

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题