Vue.js子级向父级传递数据

本文详细介绍了Vue.js中子组件如何通过this.$emit向父组件传递数据,包括在父组件中添加事件监听,子组件触发事件的方法,并展示了事件传递格式和接收附加数据的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组件之间的数据的传递 - 子传父

注意!!!:html对大小写不敏感,事件名字最好用-隔开或全部小写!!
步骤:

1、在父组件中在子组件上添加事件(自定义)监听

在这里插入图片描述
代表的含意:
在这里插入图片描述
事件分两类:

  • 浏览器自带的事件 click mouseover mousedown …
  • 自定义事件 nihao事件 xxx事件 yyyy事件 … 需要写代码让这个事件发生

上面的addmsg是在父组件中收到了子组件发布这个事件后,要做的事情,所以还要定义一个方法:在这里插入图片描述

2、在子组件中,某一个时间通过this.$emit发出这个事件

在这里插入图片描述
在子组件,点击按钮之后,执行函数,在函数代码中,通过this.$emit方法向父组件发送这个事件。
在这里插入图片描述
此时,定义在父组件中的addmsg方法就会执行。如下:
在这里插入图片描述
效果如下:在这里插入图片描述
在这里插入图片描述

3、this.$emit 格式

This.$emit(“事件名”,附加的数据)
这个附加的数据可以是任意的数据类型。如果你要传递多个数据 ,你就以对象的格式去传递,而不要选择再多写其它的参数。
在这里插入图片描述
对应地,在父组件,修改addmsg方法:
在这里插入图片描述
在addmsg中,已经可以接收这个数据了,所以我们就直接向父组件中的数据项进行push。
在这里插入图片描述
当todo改变了,vm会监听数据的变化,当数据变化了,它会重新刷新视图,如下:
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值