1、在main.js中写一个全局请求函数
Vue.prototype.CuerrentUser = function () { return new Promise((resolve, reject) => { axios({ url: this.$settings.base_url + '/user/currentuser/', method: 'get', headers: { 'AUTHORIZATION': window.$cookies.get('oatoken') } }).then( res=> { resolve(res); //将得到的数据存储到Promise中 }).catch(error=>{ reject(error);}) }) }使用Vue.prototype可以生成一个全局函数,在其他组件中,通过this.函数名就可以访问到该函数了。
2、如何在组件中调用该全局函数,获取到该请求函数响应回来的数据。使用响应回来的数据。
在组件中:
mounted() { let currentdata = this.CuerrentUser() //调用全局函数 currentdata.then(res=>{ //响应的数据存放在Promise的[[PromiseResult]]中 console.log(res.data.data) //‘需要使用then才能取出数据来。 //拿到数据可以进行初始化操作 }) }