Vue知识整理day1

本文详细介绍了Vue中常用的几种组件间通信方式:props用于父组件向子组件传递数据,emits用于子组件触发事件并通知父组件,provide和inject则用于单向数据流的祖孙组件间通信。
摘要由CSDN通过智能技术生成

几大常用插槽(props、emits、provide等)

  • 父组件传子组件 => 父组件中在子组件标签上绑定传递的参数名(前面加:) 子组件在props中定义该参数名并定义类型
父组件
<component :name=""></component>

子组件
props:{
	name:{
		type:String,
		default:""
	}
}
  • 子组件传父组件 => 子组件中先注册 emits:[“参数名”], methods:{子定义事件名(){ this.$emit(“参数名”,传参)}}
    父组件中对应的子组件标签中添加 @参数名 = “父定义事件名”,并在下面写父定义事件名
父组件
<component @homeClick="homeClick"></component>  //@homeClick就表示接收的子组件参数名
...
methods:{homeClick(payload){console.log(payload)}}

子组件
props:{...}
emits:["homeClick"],
methods:{
	homeBtnClick(){
		this.$emit("homeClick","home")
	}
}
  • 父传子孙组件 provide 和 inject
父组件
import {  provide, ref } from 'vue'
...
setup(){
	let info = ref("...")
	provide('info', info)
	return {
		info
	}
}

子组件
import { inject } from 'vue'
...
setup(){
	const info = inject('info');
	.....修改info.value的值
	return {
		info
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值