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

vue工程全局設(shè)置ajax的等待動效的方法

 更新時間:2019年02月22日 09:21:08   作者:田臭臉  
這篇文章主要介紹了vue工程全局設(shè)置ajax的等待動效的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近在做vue的項(xiàng)目,使用了element-ui作為ui組件庫,采用vuex進(jìn)行狀態(tài)管理,與后臺的請求交互采用axios庫實(shí)現(xiàn),原本做的頁面,ajax請求個數(shù)也只有三個,將等待動畫的顯示和隱藏通過mutation去控制,但是項(xiàng)目越來越大,請求也越來越多,能否將這個等待動畫與ajax的請求相關(guān)聯(lián)呢?

實(shí)現(xiàn)等待動效

在element-ui中,提供了兩個方法進(jìn)行調(diào)用loading組件,一個是在需要遮罩的div容器中添加v-loading指令,另一種就是以服務(wù)形式調(diào)用:Loading.service(options),在本項(xiàng)目中,在加載數(shù)據(jù)時,進(jìn)行全局遮罩,所以設(shè)置let loadingInstance = Loading.service({fullscreen:true})。關(guān)閉服務(wù)形式的調(diào)用:loadingInstance.close();

axios的攔截器

個人對攔截器的作用的理解是,在請求發(fā)送前和響應(yīng)處理前,對該ajax請求進(jìn)行一定的設(shè)置或者處理,方便對工程內(nèi)的ajax請求進(jìn)行統(tǒng)一處理,減少重復(fù)代碼。

 //請求攔截器
 axios.interceptors.request.use((config) => {
  // 在發(fā)送請求之前做些什么
  return config;
 }, (error) => {
  // 對請求錯誤做些什么
  return Promise.reject(error);
 });
 // 添加響應(yīng)攔截器
 axios.interceptors.response.use((response) => {
  // 對響應(yīng)數(shù)據(jù)做點(diǎn)什么
  return response;
 }, (error) => {
  // 對響應(yīng)錯誤做點(diǎn)什么
  return Promise.reject(error);
 });

有了攔截器,我們可以想到,在ajax請求發(fā)送前開啟loading動畫,在接收響應(yīng)后關(guān)閉loading動畫。但是要對每個ajax都開關(guān)一下loading動畫嗎?其實(shí)不必。只需要實(shí)現(xiàn)一個ajax的計(jì)數(shù)器,在個數(shù)大于0時,開啟動畫,在個數(shù)為0的時候,關(guān)閉動畫。

計(jì)數(shù)器實(shí)現(xiàn)

let loadingInstance;
let loadCounter = {
  count:0,
  show:() => {
    if(count < 0){
     this.count ++;
     loadingInstance = Loading.service({fullscreen:true});
    }
  },
  hide:()=>{
    if(count > 0){
      this.count --;
      this.$nextTick(()=>{//以服務(wù)的方式調(diào)用的 Loading 需要異步關(guān)閉
        loadingInstance.close();
      });
    }
  }
}

使用方法

 //請求攔截器
 axios.interceptors.request.use((config) => {
  loadCounter.show();
  return config;
 }, (error) => {
  return Promise.reject(error);
 });
 // 添加響應(yīng)攔截器
 axios.interceptors.response.use((response) => {
  loadCounter.hide();
  return response;
 }, (error) => {
  return Promise.reject(error);
 });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文教會你vue中使用async和await

    一文教會你vue中使用async和await

    async和await作為異步函數(shù),語法很簡單,就是在函數(shù)前面加上async 關(guān)鍵字,來表示它是異步的,下面這篇文章主要給大家介紹了如何通過一文教會你vue中使用async和await的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • vue全局組件和局部組件的寫法介紹

    vue全局組件和局部組件的寫法介紹

    這篇文章主要介紹了vue全局組件和局部組件的寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue實(shí)現(xiàn)動態(tài)監(jiān)測元素高度

    vue實(shí)現(xiàn)動態(tài)監(jiān)測元素高度

    這篇文章主要介紹了vue實(shí)現(xiàn)動態(tài)監(jiān)測元素高度方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue搜索頁開發(fā)實(shí)例代碼詳解(熱門搜索,歷史搜索,淘寶接口演示)

    vue搜索頁開發(fā)實(shí)例代碼詳解(熱門搜索,歷史搜索,淘寶接口演示)

    這篇文章主要介紹了vue搜索頁開發(fā)實(shí)例(熱門搜索,歷史搜索,淘寶接口演示),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • antd form表單中如何嵌套自定義組件

    antd form表單中如何嵌套自定義組件

    這篇文章主要介紹了antd form表單中如何嵌套自定義組件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解Vue computed計(jì)算屬性是什么

    詳解Vue computed計(jì)算屬性是什么

    在vue中,有時候你需要對data中的數(shù)據(jù)進(jìn)行處理,或者對抓取的數(shù)據(jù)進(jìn)行處理之后再掛載呈現(xiàn)到標(biāo)簽中,這時候你就需要計(jì)算屬性了,當(dāng)然看到這里你可能還是不了解那下面我舉幾個實(shí)例并附代碼解釋
    2023-03-03
  • vue使用vue-video-player插件播放視頻的步驟講解

    vue使用vue-video-player插件播放視頻的步驟講解

    在最近的項(xiàng)目中有一個視頻播放的功能,在之前的項(xiàng)目中沒有接觸過類似的功能,第一次接觸,把具體操作步驟一下,這篇文章主要給大家介紹了關(guān)于vue使用vue-video-player插件播放視頻的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue之將echart封裝為組件

    vue之將echart封裝為組件

    這篇文章主要介紹了vue之將echart封裝為組件,本文將會以雷達(dá)圖為案例,一步步講解在vue項(xiàng)目中如何使用echart,如何將其封裝為能重復(fù)調(diào)用的組件
    2018-06-06
  • Vue中安裝element-ui失敗問題原因及解決

    Vue中安裝element-ui失敗問題原因及解決

    Vue中安裝element-ui失敗問題原因及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)

    部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)

    這篇文章主要介紹了部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評論

南宫市| 屏山县| 大洼县| 托克逊县| 凤庆县| 阜新市| 法库县| 任丘市| 邛崃市| 昌邑市| 渝中区| 岳阳市| 丰宁| 老河口市| 中方县| 阿瓦提县| 额尔古纳市| 麦盖提县| 庐江县| 清原| 清河县| 安溪县| 施秉县| 神农架林区| 安庆市| 荆州市| 浦县| 凭祥市| 武川县| 措美县| 平南县| 通城县| 潮安县| 当涂县| 灵武市| 宝兴县| 神木县| 华阴市| 临颍县| 千阳县| 蕲春县|