Vue面试之组件通信的方式总结(上篇)

本文总结了Vue中组件通信的两种主要方式:props实现父子组件间的数据传递,包括数组、对象的简单和复杂形式;以及插槽机制,涵盖默认插槽、具名插槽和作用域插槽的使用,讲解了如何通过插槽实现内容的动态插入和数据传递。
摘要由CSDN通过智能技术生成


    最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~

    在Vue框架中,提供了多种组件通信方式:props父子组件传参、插槽传参、Event Bus方式、vuex方式传参等,本篇先对前两种方法进行总结~

props父子组件传参

props父组件向子组件传参

props算是vue中比较简单的语法,通过在标签中定义属性的方式实现父组件对子组件的信息传递,关于传参的限定有三种方式:
需要注意的是,props是单向数据流传递,因此对接收到的props只是使用,不能修改!

数组形式

该方式是最为简单的方式,只需在接收prop的组件中以数组的形式备案要使用的props参数名即可,如下示例:

export default {
   
	name: 'xxx',
	props: [
		'name', 'age', 'sex'
	]
}

对象的简单形式

如果想要指定接收props参数的类型,可通过此种方式进行简单限定,如:

export default {
   
	name: 'xxx',
	props: {
   
		name: String,
		age: Number,
		sex: String
	}
}

对象的复杂形式

如果还要对参数进行进一步的限制,如是否必输、默认值等,可采用此种方式进行限定:

export default {
   
	name: 'xxx',
	props: {
   
		name: {
   
			type: String,
			required: false,
			default: '小红'
		},
		age: {
   
			type: Number,
			required: true,
			default: 12
		},
		sex: {
   
			type: String,
			required: false
		}
	}
}

如果传递prop时没有满足对应限制,则会在控制台上报错。

props子组件向父组件传参

props也可实现子组件向父组件传递数据,即利用父组件向子组件传递事件/方法的形式,通过这种方式,在子组件使用父组件传过来的方法时,就可利用参数传递的方式,将参数传递给父组件,真是妙~

通过传递方法的形式

/* parent组件 * /
<Son :something="doSomething"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷糊的小小淘

整理不易,赏点动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值