最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

方法一

寫(xiě)在axios的配置中,在請(qǐng)求攔截器中調(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變量

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

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

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

方法二

將自定義樣式寫(xiě)在公共css中,在需要的文件里面進(jìn)行調(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公共方法中,在需要的頁(yè)面進(jìn)行調(diào)用

代碼塊:

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

const startLoading = () => {
loading = Loading.service({
lock: true,
text: '查驗(yàn)中,請(qǐng)稍等……',
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é)

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

相關(guān)文章

  • nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作

    nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作

    這篇文章主要介紹了nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作,具有很好的參考價(jià)值,希望大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Vue CLI3搭建的項(xiàng)目中路徑相關(guān)問(wèn)題的解決

    Vue CLI3搭建的項(xiàng)目中路徑相關(guān)問(wèn)題的解決

    這篇文章主要介紹了Vue CLI3搭建的項(xiàng)目中路徑相關(guān)問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 詳解.vue文件中監(jiān)聽(tīng)input輸入事件(oninput)

    詳解.vue文件中監(jiān)聽(tīng)input輸入事件(oninput)

    本篇文章主要介紹了詳解.vue文件中監(jiān)聽(tīng)input輸入事件(oninput),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Vue路由自動(dòng)添加#的問(wèn)題及解決

    Vue路由自動(dòng)添加#的問(wèn)題及解決

    這篇文章主要介紹了Vue路由自動(dòng)添加#的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • html中創(chuàng)建并調(diào)用vue組件的幾種方法匯總

    html中創(chuàng)建并調(diào)用vue組件的幾種方法匯總

    這篇文章主要介紹了html中創(chuàng)建并調(diào)用vue組件的幾種方法匯總,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue2 中使用圖片查看器 v-viewer的方法

    Vue2 中使用圖片查看器 v-viewer的方法

    文章介紹了v-viewer插件,它是一個(gè)用于Vue的圖像查看器組件,基于viewer.js插件,可以通過(guò)npm安裝,支持指令形式和Vue組件形式的用法,并提供了豐富的配置選項(xiàng)和事件監(jiān)聽(tīng),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Vue 3.0雙向綁定原理的實(shí)現(xiàn)方法

    Vue 3.0雙向綁定原理的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Vue 3.0雙向綁定原理的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Vue中的插槽Slot技術(shù)詳解

    Vue中的插槽Slot技術(shù)詳解

    插槽(Slot)技術(shù)是一種用于組件化開(kāi)發(fā)的重要技術(shù),允許我們?cè)诮M件中定義一些占位符,在Vue中,插槽的使用方式可以分為三種:默認(rèn)插槽、具名插槽和作用域插槽,下面我們就來(lái)看看這三種方式的具體使用吧
    2023-09-09
  • Vue路由(router-link)之高亮、動(dòng)態(tài)傳參詳解

    Vue路由(router-link)之高亮、動(dòng)態(tài)傳參詳解

    文章介紹了如何使用Vue Router進(jìn)行聲明式導(dǎo)航,并詳細(xì)講解了如何通過(guò)`router-link`組件實(shí)現(xiàn)導(dǎo)航高亮、自定義高亮類名、查詢參數(shù)傳參和動(dòng)態(tài)路由傳參,此外,還提到了動(dòng)態(tài)路由參數(shù)的可選符
    2025-11-11
  • Vue3組合式函數(shù)Composable實(shí)戰(zhàn)ref和unref使用

    Vue3組合式函數(shù)Composable實(shí)戰(zhàn)ref和unref使用

    這篇文章主要為大家介紹了Vue3組合式函數(shù)Composable實(shí)戰(zhàn)ref和unref使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評(píng)論

涞水县| 奈曼旗| 高尔夫| 深州市| 江川县| 怀安县| 图们市| 确山县| 开远市| 剑川县| 乡宁县| 阜南县| 福鼎市| 秦安县| 通江县| 奉节县| 金沙县| 丹江口市| 棋牌| 阳城县| 科技| 子洲县| 清苑县| 德格县| 修文县| 漳浦县| 靖宇县| 格尔木市| 沐川县| 绍兴市| 碌曲县| 屏南县| 屏东市| 罗山县| 共和县| 广德县| 山阳县| 拜泉县| 林州市| 梓潼县| 山阴县|