Nuxt封裝@nuxtjs/axios請求后端數(shù)據(jù)方式
更新時間:2023年10月13日 08:36:52 作者:明知山_
這篇文章主要介紹了Nuxt封裝@nuxtjs/axios請求后端數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Nuxt封裝@nuxtjs/axios請求后端數(shù)據(jù)
npm install @nuxtjs/axios -s
在plugins
新建axios
文件配置公共請求
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注入一個內(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 方法會在組件每次加載之前被調(diào)用
- asyncData 可以在服務(wù)端或路由更新之前被調(diào)用
- asyncData 返回的數(shù)據(jù)融合到組件的data方法
- asyncData 方式是在組件初始化前被調(diào)用,方法內(nèi)飾無法通過
this
來引用組件的實例對象
查看源代碼可以查看請求到的數(shù)據(jù)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue-cli proxyTable 解決開發(fā)環(huán)境的跨域問題詳解
本篇文章主要介紹了Vue-cli proxyTable 解決開發(fā)環(huán)境的跨域問題詳解,非常具有實用價值,需要的朋友可以參考下2017-05-05vue.js2.0 實現(xiàn)better-scroll的滾動效果實例詳解
better-scroll 是一個移動端滾動的解決方案,它是基于 iscroll 的重寫。better-scroll 也很強(qiáng)大,不僅可以做普通的滾動列表,還可以做輪播圖、picker 等等,下面通過本文給大家介紹vue.js2.0 實現(xiàn)better-scroll的滾動效果,感興趣的朋友一起看看吧2018-08-08uniapp開發(fā)打包多端應(yīng)用完整方法指南
這篇文章主要介紹了uniapp開發(fā)打包多端應(yīng)用完整流程指南,包括了uniapp打包小程序,uniapp打包安卓apk,uniapp打包IOS應(yīng)用,需要的朋友可以參考下2022-12-12