欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Element Loading的全局使用(自定義Loading)

 更新時間:2024年08月27日 16:56:44   作者:芒果沙冰喲  
這篇文章主要介紹了關(guān)于Element Loading的全局使用(自定義Loading),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Element Loading的全局使用(自定義Loading)

方法一

寫在axios的配置中,在請求攔截器中調(diào)用,響應(yīng)攔截器里面關(guān)閉

import axios from 'axios';
import qs from 'qs';
import { Message, Loading } from 'element-ui';
import { getToken } from "@/utils/token.js";
const baseUrl=`http://157:8852`;
const service = axios.create({
  baseURL: baseUrl,
  timeout: 60000,
});

service.defaults.headers["Content-Type"] = "application/json;charset=utf-8";

let loading = null; //定義loading變量

//開始 加載loading
let startLoading = () => {
  loading = Loading.service({
    lock: true,
    text: 'Loading',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.8)'
  })
}
//結(jié)束 取消loading加載
let endLoading = () => {
  loading.close();
}

let needLoadingRequestCount = 0 //聲明一個變量
 
let showFullScreenLoading = () => {
  if (needLoadingRequestCount === 0) { //當?shù)扔?時證明第一次請求 這時開啟loading
    startLoading()
  }
  needLoadingRequestCount++ //全局變量值++ 
}
 
let tryHideFullScreenLoading = () => {
  if (needLoadingRequestCount <= 0) return //小于等于0 證明沒有開啟loading 此時return
  needLoadingRequestCount-- //正常響應(yīng)后 全局變量 --
  if (needLoadingRequestCount === 0) {  //等于0 時證明全部加載完畢 此時結(jié)束loading 加載
    endLoading();
  }
}

// 請求攔截器
service.interceptors.request.use((config) => {
    if (getToken()) {
      config.headers["Authorization"] = getToken();
    }
  if (config.url.indexOf('queryExecuteOnce') > -1) {
    console.log("1111", config.url);
  } else {
    //開啟loading加載
    showFullScreenLoading();
  }
  return config;
}, (err) => {
  Message.error('請求失敗!');
  return Promise.reject(err);
})

// 響應(yīng)攔截器
service.interceptors.response.use((response) => {
  if (response.data.code == 302) {
    Message.warning('登錄超時,請重新登錄!');
    return;
  }
  //關(guān)閉loading加載
  tryHideFullScreenLoading();
  return response
}, (err) => {
  tryHideFullScreenLoading();
  if (err.toString().indexOf('Error: timeout') !== -1) {
    Message.warning('網(wǎng)絡(luò)請求超時!');
    return Promise.reject(err);
  } else {
    Message.error('服務(wù)器響應(yīng)失敗,請稍后再試!');
    return Promise.reject(err);
  }
})

方法二

將自定義樣式寫在公共css中,在需要的文件里面進行調(diào)用

代碼塊:

//公共css樣式
.svg-container .el-input__inner {
padding-left: 40px;
}
.svg-container .flex {
display: flex;
align-items: center;
height: 100%;
}
.el-loading-spinner .circular {
display: none;
}
.el-loading-spinner {
width: 100px;
height: 100px;
top: 50%;
left: 50%;
transform: translate(-50px, -50px);
background: url("../assets/img/loading.png");
background-size: 100% 100%;
margin-top: 0px;
}
.el-loading-mask {
z-index: 9999 !important;
}
//vue文件調(diào)用方法
handleClickOne() {
const loading = this.$loading({
lock: true,
text: "",
spinner: "",
background: "rgba(255, 255, 255, 0.8)",
});
setTimeout(() => {
loading.close();
}, 2000);
},

方法三

封裝在utils公共方法中,在需要的頁面進行調(diào)用

代碼塊:

import { Loading } from 'element-ui'
let loadingCount = 0
let loading

const startLoading = () => {
loading = Loading.service({
lock: true,
text: '查驗中,請稍等……',
background: 'rgba(0, 0, 0, 0.5)',
color: '#fff',
})
}

const endLoading = () => {
loading.close()
}
export const showLoading = () => {
if (loadingCount === 0) {
startLoading()
}
loadingCount += 1
}

export const hideLoading = () => {
if (loadingCount <= 0) {
return
}
loadingCount -= 1
if (loadingCount === 0) {
endLoading()
}
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • element UI 中的 el-tree 實現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)功能

    element UI 中的 el-tree 實現(xiàn) checkbox&n

    在日常項目開發(fā)中,會經(jīng)常遇到,樹形結(jié)構(gòu)的查詢方式,為了快速方便開發(fā),常常會使用到快捷的ui組件去快速搭樹形結(jié)構(gòu),這里我用的是 element ui 中的 el-tree,對element UI 中的 el-tree 實現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)的方法感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • 淺談Vue 數(shù)據(jù)響應(yīng)式原理

    淺談Vue 數(shù)據(jù)響應(yīng)式原理

    這篇文章主要介紹了淺談Vue 數(shù)據(jù)響應(yīng)式原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue3 Props沒有默認值但報錯的解決方案

    Vue3 Props沒有默認值但報錯的解決方案

    這篇文章主要介紹了Vue3 Props沒有默認值但報錯的解決方案,文中通過代碼示例給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • Vue項目中new?Vue()和export?default{}的區(qū)別說明

    Vue項目中new?Vue()和export?default{}的區(qū)別說明

    這篇文章主要介紹了Vue項目中new?Vue()和export?default{}的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • uniapp中easycom用法實例詳解

    uniapp中easycom用法實例詳解

    easycom是Uniapp框架中非常方便的組件自動注冊機制,可以大大簡化組件的使用和管理,這篇文章主要介紹了uniapp中easycom用法詳解,需要的朋友可以參考下
    2023-03-03
  • vue spa應(yīng)用中的路由緩存問題與解決方案

    vue spa應(yīng)用中的路由緩存問題與解決方案

    這篇文章主要介紹了vue spa應(yīng)用中的路由緩存問題與解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 在vue2.0中引用element-ui組件庫的方法

    在vue2.0中引用element-ui組件庫的方法

    這篇文章主要介紹了在vue2.0中引用element-ui組件庫,需要的朋友可以參考下
    2018-06-06
  • Windows系統(tǒng)下使用nginx部署vue2項目的全過程

    Windows系統(tǒng)下使用nginx部署vue2項目的全過程

    nginx是一個高性能的HTTP和反向代理服務(wù)器,因此常用來做靜態(tài)資源服務(wù)器和后端的反向代理服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下使用nginx部署vue2項目的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 一篇帶你搞懂Vue中的自定義指令

    一篇帶你搞懂Vue中的自定義指令

    自定義指令,是Vue提供的一種擴展和定制的機制,使開發(fā)者能夠在組件中直接操作DOM、處理事件、添加樣式等,并提供了與第三方庫集成的方式,定義指令使得Vue在處理交互和DOM操作時更加靈活和強大,本文將帶大家搞懂Vue中的自定義指令,需要的朋友可以參考下
    2023-07-07
  • vue如何實現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值

    vue如何實現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值

    這篇文章主要介紹了vue如何實現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論