vue mixin执行axios调用并设置数据

时间:2019-07-08 05:33:05

标签: 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')
    .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完成之前运行。 这样做的权利是什么?

0 个答案:

没有答案