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
  }
}
相关推荐
lcc1871 小时前
Vue mixin混入
前端·vue.js
t***L2661 小时前
终于搞定了!Vue项目打包后白屏问题
前端·javascript·vue.js
u***j3241 小时前
前端组件通信方式,Vue与React对比
前端·vue.js·react.js
小贺要学前端1 小时前
【无标题】
前端·javascript·vue·技术趋势
im_AMBER1 小时前
React 18 用 State 响应输入
前端·react.js·前端框架
前端摸鱼匠1 小时前
Vue 3 的全局组件注册:讲解如何全局注册组件
前端·javascript·vue.js·前端框架·node.js·ecmascript
千里码aicood2 小时前
springboot+vue考研复习交流平台设计(源码+文档+调试+基础修改+答疑)
vue.js·spring boot·后端
lcc1873 小时前
Vue VueComponent
前端·vue.js
摇滚侠3 小时前
Vue 项目实战《尚医通》,预约挂号就诊人组件搭建上,笔记40
前端·javascript·vue.js·笔记
前端互助会6 小时前
Live2D形象展示与文本语音播报:打造生动交互体验的完整实现
前端·vue.js·microsoft·交互