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('触发');
       }
   },
相关推荐
愚者Pro11 分钟前
Flutter基础学习
前端·javascript·vue.js
ZC跨境爬虫18 分钟前
跟着 MDN 学 HTML day_17:媒体与 Web Audio API 自动播放指南——策略、检测与最佳实践
前端·笔记·ui·html·音视频·媒体
canonical_entropy24 分钟前
Nop Chaos Flux:百度AMIS之后的下一代低代码渲染引擎
前端·低代码·ai编程
时光足迹42 分钟前
Tiptap 简单编辑器模版
前端·javascript·react.js
吴声子夜歌1 小时前
Vue3——使用Mock.js
javascript·vue·mock.js
JSLove1 小时前
nginx入门
前端·nginx
时光足迹1 小时前
ThreeJS之GUI控制器
前端·javascript·three.js
时光足迹1 小时前
Tiptap编辑器
前端·javascript·react.js
im_AMBER1 小时前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵