国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue基于vuex、axios攔截器實現(xiàn)loading效果及axios的安裝配置

2019-11-19 11:41:45
字體:
供稿:網(wǎng)友

準備

  • 利用vue-cli腳手架創(chuàng)建項目
  • 進入項目安裝vuex、axios(npm install vuex,npm install axios)

axios配置

項目中安裝axios模塊(npm install axios)完成后,進行以下配置:

main.js

//引入axiosimport Axios from 'axios'//修改原型鏈,全局使用axios,這樣之后可在每個組件的methods中調(diào)用$axios命令完成數(shù)據(jù)請求Vue.prototype.$axios=Axios

loading組件

我這里就選擇使用iview提供的loading組件,

npm install iview

main.jsimport iView from 'iview';import 'iview/dist/styles/iview.css';Vue.use(iView);

安裝引入后,將loading寫成一個組件loading.vue

Vuex state狀態(tài)設(shè)置控制loading的顯隱

store.js(Vuex)

export const store = new Vuex.Store({  state:{    isShow:false  }})

在state中定義isShow屬性,默認false隱藏

v-if="this.$store.state.isShow"

為loading組件添加v-if綁定state中的isShow

組件使用axios請求數(shù)據(jù)

<button @click="getData">請求數(shù)據(jù)</button>methods:{    getData(){      this.$axios.get('https://www.apiopen.top/journalismApi')      .then(res=>{        console.log(res)//返回請求的結(jié)果      })      .catch(err=>{        console.log(err)      })    }  }

我這里使用一個按鈕進行觸發(fā)事件,利用get請求網(wǎng)上隨便找的一個api接口,.then中返回請求的整個結(jié)果(不僅僅包括數(shù)據(jù))

Axios攔截器配置

main.js

//定義一個請求攔截器Axios.interceptors.request.use(function(config){ store.state.isShow=true; //在請求發(fā)出之前進行一些操作 return config})//定義一個響應(yīng)攔截器Axios.interceptors.response.use(function(config){ store.state.isShow=false;//在這里對返回的數(shù)據(jù)進行處理 return config})

分別定義一個請求攔截器(請求開始時執(zhí)行某些操作)、響應(yīng)攔截器(接受到數(shù)據(jù)后執(zhí)行某些操作),之間分別設(shè)置攔截時執(zhí)行的操作,改變state內(nèi)isShow的布爾值從而控制loading組件在觸發(fā)請求數(shù)據(jù)開始時顯示loading,返回數(shù)據(jù)時隱藏loading

特別注意:這里有一個語法坑(我可是來來回回踩了不少次)main.js中調(diào)取、操作vuex state中的數(shù)據(jù)不同于組件中的this.$store.state,而是直接store.state 同上面代碼

效果展示

總結(jié)

以上所述是小編給大家介紹的Vue基于vuex、axios攔截器實現(xiàn)loading效果及axios的安裝配置,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞丽市| 木兰县| 康乐县| 宣威市| 永福县| 安图县| 云浮市| 长丰县| 五寨县| 靖远县| 汉寿县| 和平县| 双牌县| 五莲县| 朝阳县| 新民市| 宣武区| 城步| 泊头市| 诸暨市| 普兰县| 临沭县| 仲巴县| 沧源| 抚顺市| 高阳县| 绥化市| 罗山县| 十堰市| 牡丹江市| 宜章县| 巴林右旗| 闸北区| 交口县| 甘德县| 隆尧县| 乌兰浩特市| 来凤县| 澄江县| 策勒县| 云浮市|