中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-08 00:18:03 來源:腳本之家 閱讀:215 作者:茅野丶 欄目:web開發

準備

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

axios配置

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

main.js

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

loading組件

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

npm install iview

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

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

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

Vuex state狀態設置控制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請求數據

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

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

Axios攔截器配置

main.js

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

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

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

效果展示

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

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤庆县| 双桥区| 宁海县| 陕西省| 延长县| 东源县| 突泉县| 大宁县| 龙陵县| 朝阳县| 图木舒克市| 丹凤县| 南丰县| 永仁县| 道真| 福建省| 理塘县| 昌图县| 新郑市| 安塞县| 新竹县| 昭通市| 南华县| 策勒县| 台江县| 资源县| 永顺县| 陆河县| 嵊州市| 朝阳县| 长武县| 隆昌县| 宁安市| 浦东新区| 蚌埠市| 胶南市| 根河市| 乐平市| 徐汇区| 环江| 耒阳市|