使用场景
当组件嵌套过多,而且所有组件都需要使用根组件(包括但不限于)的某一些内容时(数据或方法),使用依赖注入会比普通的传值更加方便
使用
// 官方示例
// 依赖注入一个getMap方法
provide: function () {
return {
getMap: this.getMap
}
}
然后在任何子组件里,我们都可以使用 inject 选项来接收指定的我们想要添加在这个实例上的属性:
inject: ['getMap']
相比于$parent,选择依赖注入的好处
使用依赖注入可以让我们免于暴露整个根组件信息,具体有两点
- 祖先组件不需要知道哪些后代组件使用它提供的属性
- 后代组件不需要知道被注入的属性来自哪里
网友评论