vue父子组件的传值

本文详细介绍了Vue.js中父组件与子组件之间的通信方式,包括父组件如何通过$refs访问子组件内容,子组件如何利用$parent访问父组件(不推荐),以及父组件通过props向子组件传递数据的方法。此外,还探讨了子组件如何使用emit向父组件发送自定义事件。

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

1、父组件访问子组件内容$refs

在这里插入图片描述

2、子组件访问父组件$parent (一般不用)

在这里插入图片描述

3、父组件传值给子组件props

发送端:父

 <show-detail :orgid="orgid"></show-detail>

接收端:子
props: { orgid: String },

• 在组件中,使用选项props来声明需要从父级接收到的数据。
• props的值有两种方式:
• 方式一:字符串数组,数组中的字符串就是传递时的名称。
• 方式二:对象,对象可以设置传递时的类型,也可以设置默认值等。
我们先来看一个最简单的props传递:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、子组件传值给父组件emit()

发送端:子
this.$emit(‘changeShow’, ‘false’)
接收端:父

<edit-catalog :catalogdata="catalogdata" @changeShow="showAddOrUpdate"></edit-catalog>

• 自定义事件的流程:
• 在子组件中,通过$emit()来触发事件。
• 在父组件中,通过v-on来监听子组件事件。
• 我们来看一个简单的例子:
• 我们之前做过一个两个按钮+1和-1,点击后修改counter。
• 我们整个操作的过程还是在子组件中完成,但是之后的展示交给父组件。
• 这样,我们就需要将子组件中的counter,传给父组件的某个属性,比如total。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值