Vue.js vue mixin执行axios调用并设置数据
我必须点击一个api,设置从响应中获取一些值,并将其设置为全局mixin,以便它对所有组件都可用。。这是一种初始化逻辑,api调用只需运行一个Vue.js vue mixin执行axios调用并设置数据,vue.js,axios,Vue.js,Axios,我必须点击一个api,设置从响应中获取一些值,并将其设置为全局mixin,以便它对所有组件都可用。。这是一种初始化逻辑,api调用只需运行一个 import Axios from 'axios' let updatetime function fetchData () { console.log('fetchData invoked') return Axios .get('https://api.coindesk.com/v1/bpi/currentprice.json')
import Axios from 'axios'
let updatetime
function fetchData () {
console.log('fetchData invoked')
return Axios
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => {
updatetime = response.data.time.updated
})
}
fetchData().then(respons => { console.log('INSIDE---' + updatetime) })
const myMixin = {
data () {
return {
time: 'invalidTime'
}
},
mounted () {
console.log('old time' + this.time)
this.time = updatetime
console.log('new Time' + this.time )
}
}
export default myMixin
我希望我可以在外部调用axios(这样axios就不会每次都为某个组件运行),并将该值设置回mixin。。我有点希望axios调用是同步的,因为没有这个值,其他组件就无法工作
但是mixin方法在axios完成之前运行。。
这样做的权利是什么?一个computed属性如何?
承诺在解析后返回数据(在ajax发生时返回到一些默认值)?或者,看一看。您能提供一些代码吗?一旦承诺得到解决,如何更新此值?您在项目中使用Vuex store吗?mixin是一种为每个组件运行一次的代码。这不是你想要的,即使你想要的可以通过mixin这样的服务来实现。实现这一点的两个好方法是使用Vuex(一个专门用于在所有应用程序中共享数据的模块)或将结果放在某个全局对象中,并使其作为this.$yourVariableName
在任何地方都可用。您能提供一个您现在拥有的吗?是的。我正在使用itHow来描述一个计算属性,该属性承诺在解析后返回数据(在ajax发生时返回到一些默认值)?或者,看一看。您能提供一些代码吗?一旦承诺得到解决,如何更新此值?您在项目中使用Vuex store吗?mixin是一种为每个组件运行一次的代码。这不是你想要的,即使你想要的可以通过mixin这样的服务来实现。实现这一点的两个好方法是使用Vuex(一个专门用于在所有应用程序中共享数据的模块)或将结果放在某个全局对象中,并使其作为this.$yourVariableName
在任何地方都可用。你能提供一个你现在拥有的吗?是的,我正在使用它