uni-app vue3 使用map @markertap会触发两次

uni-app vue3 使用map @markertap会触发两次

5 回复

你好,我这里经过测试,并没有发现这个问题,并且使用hello-uniapp,也没有发现触发两次的问题,请您提供一下一个可以复现的项目

更多关于uni-app vue3 使用map @markertap会触发两次的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是下载使用hello-uniapp,无代码更改,对地图的markers进行操作的,@markertap事件PC端只会触发一次,移动端不加uni.showModal触发了两次,加上uni.showModal 触发一次,

这是下载使用hello-uniapp,无代码更改,对地图的markers进行操作的,@markertap事件PC端只会触发一次,移动端不加uni.showModal触发了两次,加上uni.showModal 触发一次,

还没修复,我在 nvue 页面也遇到

在uni-app Vue3中,@markertap事件触发两次的问题通常是由于事件冒泡或重复绑定导致的。以下是常见原因及解决方法:

  1. 检查重复绑定: 确保没有在多个地方(如模板和JS代码中)重复绑定了@markertap事件。

  2. 使用.once修饰符

<map @markertap.once="handleMarkerTap"></map>
  1. 检查组件嵌套: 如果map组件被多层嵌套,可能会导致事件冒泡触发两次,可以尝试:
<map @markertap.stop="handleMarkerTap"></map>
  1. 检查自定义组件: 如果是自定义map组件,确保没有在子组件和父组件中都绑定了事件。

  2. Vue3特性问题: Vue3中部分事件系统有变化,可以尝试改用v-on的显式写法:

<map v-on:markertap="handleMarkerTap"></map>
回到顶部