У меня хитрое требование. Я хочу прочитать конфигурацию (ex, id, api и т. д.), Выполнив вызов API. Затем я хочу сохранить эти значения глобально, чтобы все мои компоненты Vue могли это прочитать.
Я видел миксин.
Но похоже, что это для общей функциональности, и мне нужно импортировать этот миксин в свой компонент.
Как я могу сделать это только один раз и напрямую сохранить эти значения для всех моих компонентов? Я думаю, что этот пример выглядит подходящим для моего требования, но я не могу понять, это хороший способ?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Афаик, 3 способа делать что хочешь.
Я лично предпочитаю провайдера, вам просто нужно вводить, когда вам это нужно. Вероятно, он легче раствора миксина.
Вот быстрый предварительный просмотр.
export default {
name: 'RootComponent',
provide () {
let provider = {}
Object.defineProperty(provider, 'appSettings', {
iteratable: true,
get: () => this.appSettings
})
return provider
},
data () {
return {
appSettings: {}
}
},
mounted () {
this.yourApiCall().then((result) => {
this.$set(this.$data, 'appSettings', result)
})
}
}
export default {
name: 'SubComponent',
inject: ['appSettings'],
mounted () {
console.info(this.appSettings)
}
}