vue中使用better-scroll @click事件执行两次,求各位帮忙解决

vue中使用better-scroll @click事件执行两次,请问怎么解决

阅读 7.5k
5 个回答

同出过该问题,备注一下:
一开始以为跟项目中的fastclick冲突,后确认非该原因导致。
官网Demo也没有类似问题,最后暂时改为@touchstart+@touchend.stop.prevent模拟@click
示例代码:

<template>
  <button @touchstart="start($event)" @touchend.stop.prevent="stop($event)">Test</button>
</template>

<script>
  export default {
    methods: {
      start ($event) {
        this.startY = $event.touches[0].pageY
      },
      stop ($event) {
        const moving = Math.abs($event.changedTouches[0].pageY - this.startY)
        if (moving > 20) return
        this.startY = 0
        console.log('click')
      }
    }
  }
</script>

@click.native

问题已解决 楼上方法可行

新手上路,请多包涵

@click.native 直接报错

使用这个方法也可以解决点击触发2次
<button v-on:click.stop.prevent="onClick"></button>

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