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才能取出数据来。
                                   //拿到数据可以进行初始化操作
    })
}
Logo

前往低代码交流专区

更多推荐