跨级组件之间的数据传递

跨级组件之间的数据传递:
对于父组件而言,如果想要为后代组件提供数据,需要使用provide()函数,对于子组件而言,如果想要注入上层组件或整个应用提供数据,需要使用injection()函数。
一、provide()函数
Provide()函数可以提供一个值,用于被注入后代组件注入。provide()函数的语法格式如下。
provide(注入名,注入值)provide()函数可以接收2个参数,第1个参数是注入名,后代组件会通过注入名查找所需注入值,第2个参数值,值可以是任意类型,包括响应式数据,例如通过ref()函数创建数据。
在不使用set up 语法糖的情况下,provide()函数必须在组件的set up ()函数中调用。使用provide()函数示例代码如下。

<script>
  import { ref ,provide}from 'vue'
  export default{
	set up(){
	const count = ref(1)
	provide(
		//注入名
		'message',
		//注入的值
		count
)
}
}
<script>

当使用setup语法糖时,使用provide()函数示例代码如下。

<script set up>
import {provide}from 'vue'
provide  ('message','Hello Vue.js')
</script >

provide ()函数除了可以在某个组件中提供依赖外,还可以提供全局依赖。例如,在src\main.js文件中添加全局依赖,示例代码:

const app = createApp(App)
app.provide('message','Hello Vue.js')

添加完后,全局依赖可以在Vue的任何组件中被使用。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值