Vue3 provide 和 inject 实现祖组件和后代组件通信

provide 和 inject 能够实现祖组件和其任意的后代组件之间通信:

一、provide 提供数据

我们在祖组件中使用provide 将数据提供出去。

使用provide 之前需要先进行引入:

import { provide } from "vue";

语法格式如下:

provide("数据名", 数据)

例如:我们将祖组件中的person 使用provide提供出去

javascript 复制代码
setup() {
  let person = reactive({
    name: "张三",
    age:18
  })

  provide("person", person);  // 将perosn 提供出去

  return {
    person
  }
}

二、inject 使用数据

我们在后代组件中使用inject 来使用数据。

使用inject之前需要在该组件中对其进行引入:

import { inject } from "vue";

使用语法:

let xxx = inject("数据名") ;

我们在后代组件中接受上面祖组件提供的person 数据

javascript 复制代码
setup() {
  let person = inject("person");

  return {
    person
  }
}
相关推荐
计算机学姐2 分钟前
基于SpringBoot的新能源充电桩管理系统
java·vue.js·spring boot·后端·mysql·spring·java-ee
leiming65 分钟前
巧用 FreeRTOS 任务通知作“邮箱”:NeoPixel 灯环控制实战
java·前端·算法
茶底世界之下11 分钟前
Harbeth:高性能Metal图像处理库,让你的图片处理速度飞起来!
前端·github·swift
wangfpp13 分钟前
Pretext 如何颠覆前端文本布局
前端
从文处安16 分钟前
「前端何去何从」AI 把开发变快之后:Monorepo 与 Turborepo 如何接住被放大的工程复杂度
前端·人工智能
peterfei16 分钟前
告别浏览器DOM!PureLayout:纯JS/TS布局引擎,让你的CSS在任何环境“起飞”
前端·javascript
Seveny0717 分钟前
深圳长亮科技面试
javascript·vue.js·科技
农夫山泉不太甜18 分钟前
Node.js 后端服务 Socket 优化深度指南:从基础到 IM 通信实战
前端·后端
农夫山泉不太甜19 分钟前
NestJS 框架 Socket 优化实战指南
前端·后端