全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 6 分钟 ✍️ juanwangdev

Provide/Inject

Provide/Inject 允许祖先组件向子孙组件注入依赖。

基本用法

祖先组件

JavaScript
export default {
  provide() {
    return {
      theme: 'dark',
      size: 'large'
    }
  }
}

子孙组件

JavaScript
export default {
  inject: ['theme', 'size'],
  mounted() {
    console.log(this.theme) // 'dark'
  }
}

Composition API

JavaScript
import { provide, inject } from 'vue'

// 祖先
provide('theme', 'dark')

// 子孙
const theme = inject('theme')

响应式 Provide

JavaScript
import { ref, provide } from 'vue'

export default {
  setup() {
    const theme = ref('light')
    provide('theme', theme)
    
    return { theme }
  }
}

注入方可响应变化。

默认值

JavaScript
const theme = inject('theme', 'light')

// 工厂函数
const user = inject('user', () => ({ name: 'Guest' }))

Provide/Inject 主要用于插件开发或深层组件树,业务逻辑推荐状态管理。

要点总结

  • provide 提供数据,inject 注入数据
  • 跨层级通信,无需逐层传递
  • Composition API 使用 provide()inject() 函数
  • 可提供响应式数据
  • 适用于插件开发或深层组件

📝 发现内容有误?点击此处直接编辑

← 上一篇 生命周期概述
下一篇 → 函数式组件
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库