Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js vue mixin执行axios调用并设置数据_Vue.js_Axios - Fatal编程技术网

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

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')

我必须点击一个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完成之前运行。。
这样做的权利是什么?

一个computed属性如何?
承诺在解析后返回数据(在ajax发生时返回到一些默认值)?或者,看一看。您能提供一些代码吗?一旦承诺得到解决,如何更新此值?您在项目中使用Vuex store吗?mixin是一种为每个组件运行一次的代码。这不是你想要的,即使你想要的可以通过mixin这样的服务来实现。实现这一点的两个好方法是使用Vuex(一个专门用于在所有应用程序中共享数据的模块)或将结果放在某个全局对象中,并使其作为
this.$yourVariableName
在任何地方都可用。您能提供一个您现在拥有的吗?是的。我正在使用itHow来描述一个计算属性,该属性承诺在解析后返回数据(在ajax发生时返回到一些默认值)?或者,看一看。您能提供一些代码吗?一旦承诺得到解决,如何更新此值?您在项目中使用Vuex store吗?mixin是一种为每个组件运行一次的代码。这不是你想要的,即使你想要的可以通过mixin这样的服务来实现。实现这一点的两个好方法是使用Vuex(一个专门用于在所有应用程序中共享数据的模块)或将结果放在某个全局对象中,并使其作为
this.$yourVariableName
在任何地方都可用。你能提供一个你现在拥有的吗?是的,我正在使用它