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 方法的时候,就会执行多次

相关推荐
小小愿望1 小时前
移动端浏览器中设置 100vh 却出现滚动条?
前端·javascript·css
练习前端两年半2 小时前
🚀 Vue3 源码深度解析:Diff算法的五步优化策略与最长递增子序列的巧妙应用
前端·vue.js
烛阴2 小时前
TypeScript 接口入门:定义代码的契约与形态
前端·javascript·typescript
掘金安东尼2 小时前
使用自定义高亮API增强用户‘/’体验
前端·javascript·github
夏日不想说话3 小时前
API请求乱序?深入解析 JS 竞态问题
前端·javascript·面试
掘金安东尼3 小时前
我们让 JSON.stringify 的速度提升了两倍以上
前端·javascript·面试
Cheney95014 小时前
TypeScript 中,! 是 非空断言操作符
前端·vue.js·typescript
yvvvy5 小时前
前端跨域全解析:从 CORS 到 postMessage,再到 WebSocket
前端·javascript·trae
张志鹏PHP全栈6 小时前
Vue3第十八天,Vue3中的组件通信
前端·vue.js
小周同学:6 小时前
在 Vue2 中使用 pdf.js + pdf-lib 实现 PDF 预览、手写签名、文字批注与高保真导出
开发语言·前端·javascript·vue.js·pdf