inject 注入祖先数据(选项式)

最后更新:2026-10-22

inject 注入祖先数据(选项式)

inject 选项声明要注入的依赖:数组形式不设默认值,对象形式可写 from(换源)与 default(默认值)。

分组选项式·组合与其他
类型选项
作用域组件内
Vue 版本3.0+
SSR 支持支持

📝 语法

export default {
  inject: ["theme"],
  // 或带默认值
  inject: {
    theme: { from: "theme", default: "light" }
  }
}

⚙️ 参数

value数组(键名列表)或对象({ from, default })

返回值:注入值挂到实例上,模板/脚本直接 this.xxx 使用

▶ 示例

修改下面的代码,在预览区实时查看效果:

输出:

没有祖先 provide 时显示「主题:默认亮色」。

💡 要点

💡 提示 对象形式 from 为实际键名,注入后在本组件用对象键名访问。
⚠️ 注意 默认值不要写共享对象(多个实例会共用),用工厂或 undefined 判断。
ℹ️ 说明 注入的 ref 保持响应性;模板自动解包。
更多案例即将上线。

📚 相关教程

❓ 常见问题

Q 数组和对象形式怎么选?
A 需要默认值或换键名用对象形式;简单场景数组更短。
Q 祖先没提供会报错吗?
A 数组形式返回 undefined(开发提示);对象形式用 default 兜底。
Q 能注入方法吗?
A 可以,祖先 provide 一个函数(常配 readonly 状态)给后代调用。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏