官网说明:provide
和 inject
主要为高阶插件/组件库提供用例。并不推荐直接用于应用程序代码中
以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。
provide
选项应该是一个对象或返回一个对象的函数。
用例:
// 父级组件提供 'foo'
var Provider = {
provide: {
foo: this //可以传递当前组件中的this
},
// ...
}
// 子孙组件注入 'foo'
var Child = {
inject: ['foo'],
created () {
console.log(this.foo) // => "bar"
}
// ...
}