猿问

如何在单文件组件初始化时获取main.js中异步请求的值

在static目录下,有一个配置文件,在打包之后可以动态读取。于是我在main.js中这样写:


// 获取配置文件信息

axios.get('static/serverconfig.json').then((result) => {

  Vue.prototype.mainHostUrl = result.data.mainHostUrl

}).catch((error) => {

  console.log(error)

})

将mainHostUrl挂载在原型上后,在vue单文件组件中就可以直接访问(不需要挂载在data上),美滋滋~


然而事与愿违,在created钩子函数中,获取不到该值


    console.log('url', this.mainHostUrl) // undefined

我本意是在页面初始化时获取mainHostUrl,然后去请求数据。


猜测跟钩子函数,axios异步有关,但是由于涉及到2个文件,不能用promise,请大神们指点一二!


撒科打诨
浏览 992回答 2
2回答

暮色呼如

你把初始化vue的代码放在这个回调里面应该就可以了啊。

慕哥9229398

写个自调用函数,用await,把异步变同步
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答