Vue关于子级组件向父级组件传值调用$emit函数不能够使用驼峰命名法

问题描术

若在父组件parent中调用子组件child,父组件有写好的getData()方法。

javascript 复制代码
methods: {
       getData(data) {
          console.log(data);
         }
   },

父组件引入子组件代码出下:

parent.vue

html 复制代码
<child ref="child" @getData="getData"/>

在子组件child中使用

child.vue

javascript 复制代码
methods: {
       sendData() {
           this.$emit('getData',"Child data")
          // console.log('触发');
       }
   },

此时的调用并不起作用

原因

原因是DOM的标准与js的不一样,对大小写不敏感。

解决方案

需将驼峰命名法更改为以连字符-互相连接的小写字母串。

parent.vue

html 复制代码
<child ref="child" @get-data="getData"/>

在子组件child中使用

child.vue

javascript 复制代码
methods: {
       sendData() {
           this.$emit('get-data',"Child data")
          // console.log('触发');
       }
   },
相关推荐
cool32005 分钟前
4D实验八:Dubbo微服务 + 注册中心
前端·kubernetes
军军君0116 分钟前
数字孪生监控大屏实战模板:商圈大数据监控
前端·javascript·vue.js·typescript·前端框架·echarts·three
方安乐31 分钟前
try catch vs 异步捕获
前端·javascript·vue.js
chenbin___38 分钟前
鸿蒙RN position: ‘absolute‘ 和 zIndex 的兼容性问题(转自千问)
前端·javascript·react native·harmonyos
晴天丨40 分钟前
Vue 3项目架构设计:从2200行单文件到24个组件
前端·vue.js
blanks202041 分钟前
为 Zed 编辑器 添加 flutter dart snippets
前端·flutter
Ruihong42 分钟前
你的 Vue 3 defineAsyncComponent(),VuReact 会编译成什么样的 React?
vue.js·react.js·面试
Ruihong1 小时前
你的 Vue 路由,VuReact 会编译成什么样的 React 路由?
vue.js·react.js·面试
Hello--_--World1 小时前
Js面试题目录表
开发语言·javascript·ecmascript
慧一居士1 小时前
Vue中的 h 作用和使用方法介绍
前端·vue.js