在Vue中,有時(shí)候我們需要獲取根組件的參數(shù),例如全局的配置參數(shù)等。這種情況下,可以通過在根組件中使用provide和inject來實(shí)現(xiàn)。下面就讓我們來看一下具體的實(shí)現(xiàn)方法。
// 根組件 export default { provide() { return { // 全局的配置參數(shù) globalConfig: { api: 'http://localhost:3000/api' } } }, ... }
在這個(gè)例子中,我們通過provide方法提供了一個(gè)全局的配置參數(shù)globalConfig,其中包括api的地址。接下來,我們可以在子組件中使用inject來獲取根組件中提供的參數(shù)。
// 子組件 export default { inject: ['globalConfig'], mounted() { console.log(this.globalConfig.api) }, ... }
在子組件中,我們通過inject指定需要獲取的參數(shù)名稱,這里我們需要獲取的是globalConfig,然后就可以在mounted中使用該參數(shù)了。在上面的例子中,我們通過this.globalConfig.api獲取了api的地址。