vue3里面,事件触发一次,方法执行多次

这个bug也是我在v2升v3的时候,根据上一个前端写的代码,发现的问题

现在我们两个组件,父组件 parent 和子组件 son,如果我们在父组件中引入自助件的时候,给他命名是驼峰命名法,然后父组件中又有一个方法和子组件的名字类似,就是驼峰的不一样而已,就可能会出现这种问题

下面来看一下代码

父组件 parent:

<script setup lang="ts">
// 注意这里关于子组件的命名
import TeSt from './son.vue'
import { ref } from 'vue'

const someVisible = ref(false)

// 定义的方法名 是 teSt,和子组件的名字 TeSt 只是驼峰的不一样
const teSt = (params: any) => {
  console.log(params, '点击了按钮')
  someVisible.value = !someVisible.value
}
</script>
<template>
  <div>
    <el-button @click="teSt">点击的按钮</el-button>

    <el-dialog v-model="someVisible" title="Tips" width="500">
      <div>
        <!-- 使用子组件 -->
        <te-st />
      </div>
    </el-dialog>
  </div>
</template>

<style lang="less" scoped></style>

子组件的代码:

<script setup lang="ts">
import { ref } from 'vue'

const num = ref(0)
</script>

<template>
  <div>
    <h1>{{ num }}</h1>
  </div>
</template>

<style lang="less" scoped></style>

此时当点击按钮触发 teSt 方法的时候,就会执行多次

相关推荐
weitao_1112 分钟前
使用opencv.js 的时候报错 Uncaught 1022911432
前端·javascript
℡52Hz★43 分钟前
Three.js+Vue3+Vite应用lil-GUI调试开发3D效果(三)
开发语言·前端·javascript·3d
栀椩2 小时前
electron编写一个macOS风格的桌面应用
javascript·macos·electron
垃圾侠3 小时前
vue2版本tinymce简单使用指南
前端·vue.js
姚永强3 小时前
登录系统网址作业
开发语言·前端·javascript
努力挣钱的小鑫3 小时前
【Vue】vue3 video 保存视频进度,每次进入加载上次的视频进度
前端·javascript·音视频
明月看潮生3 小时前
青少年编程与数学 02-006 前端开发框架VUE 25课题、UI数据
javascript·vue.js·ui·青少年编程·编程与数学
黄团团3 小时前
Vue2+OpenLayers实现车辆开始、暂停、重置行驶轨迹动画(提供Gitee源码)
前端·javascript·数据库·vue.js·gitee·html
Judy16234 小时前
Vue 实现当前页面刷新的几种方法
前端·javascript·vue.js
芳草萋萋鹦鹉洲哦4 小时前
【element plus】虚拟dom表格中cellRenderer如何使用v-for循环渲染item
前端·javascript·elementui·虚拟dom表格