Vue 中的 provide 和 inject
Opened this issue · 0 comments
kohaiy commented
用途:
子组件中需要调用父组件的属性或方法时,可以通过 this.$parent
进行访问,但是多层嵌套组件需要调用很多层,如 this.$parent.$parent
,很不好,所以有了 依赖注入
用法:
在 父组件 中添加方法:
provide: function () {
return {
getMap: this.getMap
}
}
在 子组件 中添加属性则可以:
inject: ['getMap']
实际上,你可以把依赖注入看作一部分“大范围有效的 prop”,除了:
祖先组件不需要知道哪些后代组件使用它提供的属性
后代组件不需要知道被注入的属性来自哪里