组件通信3:子传父($emit)

本文探讨了Vue中props和$attrs的单向数据流动,并重点介绍了如何通过自定义事件$emit实现子组件向父组件的数据传递,包括使用v-on指令绑定事件和正确触发$emit方法的方式。

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

一,前言

1.props$attrs具有数据的单向性,只能由父组件向子组件传递数据,不具备子传父的功能。

2.在vue中,我们可以使用自定义事件实现子组件向父组件传递数据。

二,自定义事件

1.在子组件上使用v-on指令绑定自定义事件


getChildData(data){
	//data是子组件触发事件传递的参数
	console.log('child data is' +data)
}
<child-c v-on:get-child-data='getChildData'></child-c>

2.事件的名称推荐使用-分割

三,$emit触发事件

1.每一个组件实例都要$emit方法用来触发自定义事件。

2.$emit(fn,arg)接受两个参数

(1)第一个参数是触发的事件名称,注意必须和定义的事件名完全相同。

(2)第二个参数是向父组件传递的数据。在父组件中就是定义的事件函数的第一个参数。

this.$emit('get-child-data','hello father')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值