Nuxt封裝@nuxtjs/axios請(qǐng)求后端數(shù)據(jù)方式
更新時(shí)間:2023年10月13日 08:36:52 作者:明知山_
這篇文章主要介紹了Nuxt封裝@nuxtjs/axios請(qǐng)求后端數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
Nuxt封裝@nuxtjs/axios請(qǐng)求后端數(shù)據(jù)
npm install @nuxtjs/axios -s
在plugins新建axios文件配置公共請(qǐng)求
export default ({ app: { $axios, redirect } }, inject) => {
$axios.defaults.baseURL = 'http://api.com'
$axios.setHeader('Content-Type', 'application/x-www-form-urlencoded')
$axios.defaults.timeout = 10000;
$axios.onRequest(req => { })
$axios.onResponse(res => {
if (res.data.code == 2000) {
return Promise.resolve(res)
} else {
return Promise.reject(res)
}
})
$axios.onError(err => {
return Promise.reject(err)
})
// 向nuxt注入一個(gè)內(nèi)置的方法
inject('axiosApi', (url, params, method) => {
return new Promise((resolve, reject) => {
$axios({
method: method || "POST",
url: url,
data: params
}).then(res => {
resolve(res)
}).catch(err => {
reject(err)
});
})
})
}在asyncData打印上下文,可以發(fā)現(xiàn)我們方法注入進(jìn)去了

asyncData(ctx){
ctx.$axiosApi(...)
}
// 在methids里面寫
this.$axiosApi(...)asyncData方法
- asyncData 方法會(huì)在組件每次加載之前被調(diào)用
- asyncData 可以在服務(wù)端或路由更新之前被調(diào)用
- asyncData 返回的數(shù)據(jù)融合到組件的data方法
- asyncData 方式是在組件初始化前被調(diào)用,方法內(nèi)飾無法通過
this來引用組件的實(shí)例對(duì)象
查看源代碼可以查看請(qǐng)求到的數(shù)據(jù)

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
小白教程|一小時(shí)上手最流行的前端框架vue(推薦)
這篇文章主要介紹了前端框架vue,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Vue-cli proxyTable 解決開發(fā)環(huán)境的跨域問題詳解
本篇文章主要介紹了Vue-cli proxyTable 解決開發(fā)環(huán)境的跨域問題詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
vue.js2.0 實(shí)現(xiàn)better-scroll的滾動(dòng)效果實(shí)例詳解
better-scroll 是一個(gè)移動(dòng)端滾動(dòng)的解決方案,它是基于 iscroll 的重寫。better-scroll 也很強(qiáng)大,不僅可以做普通的滾動(dòng)列表,還可以做輪播圖、picker 等等,下面通過本文給大家介紹vue.js2.0 實(shí)現(xiàn)better-scroll的滾動(dòng)效果,感興趣的朋友一起看看吧2018-08-08
uniapp開發(fā)打包多端應(yīng)用完整方法指南
這篇文章主要介紹了uniapp開發(fā)打包多端應(yīng)用完整流程指南,包括了uniapp打包小程序,uniapp打包安卓apk,uniapp打包IOS應(yīng)用,需要的朋友可以參考下2022-12-12

