Vue如何在main.js里从后端获取数据, 然后配置进Vue.use()中

Vue如何在main.js里从后端获取数据, 然后配置进Vue.use()中
我使用axios从接口获取数据, 由于异步问题, 前端Vue.use(BaiduMap)这里总会报错
代码如下

import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios';
import BaiduMap from 'vue-baidu-map'

Vue.prototype.$axios = axios

Vue.use(BaiduMap, {
  //这里我想改成从后端获取配置信息
  ak: 'AbcDefGHiJklMnOPQrst'   /** ak信息在后端配置 */
})

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
阅读 2k
1 个回答

要么在main.js里发起请求即:

main.js:

import Vue from 'vue'
import axios from 'axios';
import BaiduMap from 'vue-baidu-map'
axios(xxx).then(res => {
    Vue.use(BaiduMap,{ ak:res.ak });
})

要么在请求接口的组件里,引入BaiduMap,然后调用Vue.use:

xxx.vue

import Vue from "vue"
import BaiduMap from 'vue-baidu-map'
methods:{
    request(){
        axios(xxx).then(res => {
            Vue.use(BaiduMap,{ ak:res.ak });
        })
    }
}
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题