vue依賴注入provide - inject實現子組件調用父組件的方法


父組件提供provide,允許我們指定我們想要提供給后代組件的數據/方法

    provide: function () {
    return {
       getMap: this.getMap
    }
}

子組件使用 inject 選項來接收指定的我們想要添加在這個實例上的屬性:

    inject: ['getMap']

缺陷

  然而,依賴注入還是有負面影響的。它將你應用程序中的組件與它們當前的組織方式耦合起來,使重構變得更加困難。同時所提供的屬性是非響應式的。這是出於設計的考慮,因為使用它們來創建一個中心化規模化的數據跟使用 $root做這件事都是不夠好的。如果你想要共享的這個屬性是你的應用特有的,而不是通用化的,或者如果你想在祖先組件中更新所提供的數據,那么這意味着你可能需要換用一個像 Vuex 這樣真正的狀態管理方案了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM