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

首頁 > 編程 > JavaScript > 正文

vue+axios+element ui 實現全局loading加載示例

2019-11-19 12:58:26
字體:
來源:轉載
供稿:網友

實現全局loading加載

分析需求,我們只需要在請求發起的時候開始loading,響應結束的時候關閉loading,就這么簡單 對不對?

import axios from 'axios';import { Message, Loading } from 'element-ui';import Cookies from 'js-cookie';import router from '@/router/index'let loading  //定義loading變量function startLoading() { //使用Element loading-start 方法 loading = Loading.service({  lock: true,  text: '加載中……',  background: 'rgba(0, 0, 0, 0.7)' })}function endLoading() { //使用Element loading-close 方法 loading.close()}//那么 showFullScreenLoading() tryHideFullScreenLoading() 要干的事兒就是將同一時刻的請求合并。//聲明一個變量 needLoadingRequestCount,每次調用showFullScreenLoading方法 needLoadingRequestCount + 1。//調用tryHideFullScreenLoading()方法,needLoadingRequestCount - 1。needLoadingRequestCount為 0 時,結束 loading。let needLoadingRequestCount = 0export function showFullScreenLoading() { if (needLoadingRequestCount === 0) {  startLoading() } needLoadingRequestCount++}export function tryHideFullScreenLoading() { if (needLoadingRequestCount <= 0) return needLoadingRequestCount-- if (needLoadingRequestCount === 0) {  endLoading() }}//http request 攔截器axios.interceptors.request.use( config => {  var token = ''  if(typeof Cookies.get('user') === 'undefined'){   //此時為空  }else {   token = JSON.parse(Cookies.get('user')).token  }//注意使用的時候需要引入cookie方法,推薦js-cookie  config.data = JSON.stringify(config.data);  config.headers = {   'Content-Type':'application/json'  }  if(token != ''){   config.headers.token = token;  }  showFullScreenLoading()  return config; }, error => {  return Promise.reject(err); });//http response 攔截器axios.interceptors.response.use( response => {  //當返回信息為未登錄或者登錄失效的時候重定向為登錄頁面  if(response.data.code == 'W_100004' || response.data.message == '用戶未登錄或登錄超時,請登錄!'){   router.push({    path:"/",    querry:{redirect:router.currentRoute.fullPath}//從哪個頁面跳轉   })  }  tryHideFullScreenLoading()  return response; }, error => {  return Promise.reject(error) })

以上這篇vue+axios+element ui 實現全局loading加載示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博客| 平利县| 启东市| 康平县| 邹城市| 新龙县| 汤原县| 泰宁县| 神农架林区| 房山区| 天门市| 华蓥市| 同心县| 谢通门县| 平和县| 长垣县| 通州市| 永登县| 许昌县| 广平县| 永善县| 阳信县| 龙井市| 青河县| 安阳县| 察雅县| 怀仁县| 长丰县| 荆门市| 玉山县| 沙洋县| 公主岭市| 通榆县| 石家庄市| 金门县| 新余市| 当阳市| 锦屏县| 永登县| 清镇市| 永登县|