app.provide() 应用级依赖注入
最后更新:2026-10-22
app.provide() 应用级依赖注入
app.provide() 在应用级别提供依赖:所有组件都能 inject,适合全局配置、i18n 实例等。
| 分组 | 全局 API |
|---|---|
| 类型 | API |
| 作用域 | 全局 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
app.provide("i18n", i18nInstance)
⚙️ 参数
| key, value | 键(字符串或 Symbol)+ 值(任意,含 ref/函数) |
|---|
返回值:应用实例(可链式)
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
显示「应用配置:教程站示例」。
💡 要点
ℹ️ 说明 比 globalProperties 更推荐:inject 是显式声明,来源清晰、便于测试。
💡 提示 常见用途:i18n、主题配置、日志实例等跨组件基础设施。
⚠️ 注意 提供普通对象是快照;需要响应式请提供 ref/reactive。
🏷️ 相关全局 API
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q 和 provide(组件内)的区别?
A 作用域:应用级对所有组件可见;组件级只对后代可见,后者更受推荐。
Q 能提供函数吗?
A 可以,常用于注入 API 客户端或工具方法。
Q 会被覆盖吗?
A 组件内可以用同名 provide 覆盖给后代(就近原则)。