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

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

阅读 7.6k
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>

推荐问题