父組件提供provide,允許我們指定我們想要提供給后代組件的數據/方法
provide: function () {
return {
getMap: this.getMap
}
}
子組件使用 inject 選項來接收指定的我們想要添加在這個實例上的屬性:
inject: ['getMap']
缺陷
然而,依賴注入還是有負面影響的。它將你應用程序中的組件與它們當前的組織方式耦合起來,使重構變得更加困難。同時所提供的屬性是非響應式的。這是出於設計的考慮,因為使用它們來創建一個中心化規模化的數據跟使用 $root做這件事都是不夠好的。如果你想要共享的這個屬性是你的應用特有的,而不是通用化的,或者如果你想在祖先組件中更新所提供的數據,那么這意味着你可能需要換用一個像 Vuex 這樣真正的狀態管理方案了。
