我有一个要求,在应用程序启动中,我们必须进行Axios调用并获得一些值。.该值应适用于所有应用程序...它们是一些元数据服务器端,应在应用初始化期间仅获取一次...我已经通过定义插件内的混合蛋白并希望在组件内获取值。在这种情况下,我应该在哪里进行Axios调用?在混音或插件内?
import Vue from 'vue'
import Axios from 'axios'
const StudentCoinPlugin = {
install (Vue, options) {
Axios
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => {
Vue.mixin({
mounted () {
console.log('Mounted!Plugin----------')
},
data: function () {
return {
globalReadOnlyProperty: this.response.data.time.updated
}
}
})
}
)
}
}
是正确的做法吗?或者,当应用程序启动时,读取某些值并在全局范围中获取它的最佳方法是什么?
在我看来,将其放在安装的钩子内。虽然它将按照您的代码方式工作,但在当时的块中包装Mixin的安装有点尴尬。
import axios from 'axios';
async function fetchData(params) {
// do axios call here
}
const StudentCoinPlugin = {
install (Vue, options) {
Vue.mixin({
async mounted () {
console.log('Mounted!Plugin----------');
await fetchData();
},
data: function () {
return {
globalReadOnlyProperty: this.response.data.time.updated
}
}
})
}
}