使用需求
组件嵌套过多且子组件需使用父组件进行传值。
优势
1.常规组件传值,父传子使用props中所定义的值,子传父使用this.$emit()提交数据,组件越多,代码会出现冗余。
2.父组件不需要知道哪些子组件使用它提供的属性
3.子代组件不需要知道被注入的属性来自哪里
使用
provide 选项允许我们指定我们想要提供给后代组件的数据/方法。
例:
provide: function () {
return {
getMap: this.getMap
}
}
然后在任何后代组件中,我们都可以使用 inject 选项来接收指定我们想要添加在这个实例上的属性
inject: ['getMap']