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('触发');
       }
   },
相关推荐
dobym4 小时前
里程碑五:Elpis框架npm包抽象封装并发布
前端
全栈老石4 小时前
手写无限画布4 —— 从视觉图元到元数据对象
前端·javascript·canvas
牛奶4 小时前
React 底层原理 & 新特性
前端·react.js·面试
用户11489669441054 小时前
VUE3响应式原理——从零解析
vue.js
parade岁月4 小时前
Tailwind CSS v4 — 当框架猜不透你的心思
前端·css
用户83040713057015 小时前
SPA 首屏加载速度慢怎么解决?
vue.js·webpack
小明9135 小时前
基于Rokid CXR-M SDK的AI饮食健康助手开发实战
前端
一枚前端小姐姐5 小时前
低代码平台表单设计系统技术分析(实战三)
前端·vue.js·低代码
牛奶5 小时前
ts随笔:面向对象与高级类型
前端·面试·typescript
牛奶5 小时前
React 基础理论 & API 使用
前端·react.js·面试