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
  }
}
相关推荐
毕设十刻3 小时前
基于Vue的考勤管理系统8n7j8(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
coding随想3 小时前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
嵌入式小能手3 小时前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习
沐风。563 小时前
Object方法
开发语言·前端·javascript
程序猿小蒜4 小时前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
JS_GGbond4 小时前
JavaScript入门学习路线图
开发语言·javascript·学习
BD_Marathon4 小时前
【JavaWeb】JS_JSON在客户端的使用
开发语言·javascript·json
仙人掌一号4 小时前
梳理SPA项目Router原理和运行机制 [共2500字-阅读时长10min]
前端·javascript·react.js
粥里有勺糖4 小时前
视野修炼-技术周刊第128期 | Bun 被收购
前端·javascript·github
用户12039112947264 小时前
彻底搞定大模型流式输出:从二进制碎块到“嘚嘚嘚”打字机效果,让底层逻辑飞起来
前端·javascript·面试