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

基于vue+element實現(xiàn)全局loading過程詳解

 更新時間:2020年07月10日 09:10:52   作者:yuwenjing  
這篇文章主要介紹了基于vue+element實現(xiàn)全局loading過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

項目中使用的是vue+element實現(xiàn)的全局loading

1.引入所需組件,這里主要就是router和element組件,element組件引入可以參考element官網(wǎng)

2.下面就是重點及代碼實現(xiàn)了

首先是全局的一個變量配置參數(shù),代碼如下:

//全局頁面跳轉(zhuǎn)是否啟用loading
export const routerLoading = true;

//全局api接口調(diào)用是否啟用loading
export const apiLoading = true;

//loading參數(shù)配置
export const loadingConfig = {
 lock: true,
 text: 'Loading',
 spinner: 'el-icon-loading',
 background: 'rgba(0, 0, 0, 0.7)'
}

接下來是全局的一個loading簡單封裝,代碼如下

import ElementUI from 'element-ui';
import {loadingConfig} from '../src/config/index' //全局的一個基本參數(shù)配置

var loading = null ;
const loadingShow = () => {
 loading = ElementUI.Loading.service(loadingConfig);
}

const loadingHide = () => {
 loading.close();
}

const loadingObj={
 loadingShow,
 loadingHide
}

export default loadingObj

頁面跳轉(zhuǎn)時全局配置loading,代碼如下:

main.js中添加代碼:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

import glo_loading from '../loading/index' //loading組件的簡單封裝
import {routerLoading} from '../src/config/index' //全局的頁面跳轉(zhuǎn)loading是否啟用

Vue.use(ElementUI);

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 components: { App },
 template: '<App/>'
})

//從后臺獲取的用戶角色
const role = 'user'
//當(dāng)進入一個頁面是會觸發(fā)導(dǎo)航守衛(wèi) router.beforeEach 事件
router.beforeEach((to,from,next) => {
 routerLoading ? glo_loading.loadingShow() : '' //如果全局啟用頁面跳轉(zhuǎn)則加載loading
 if(to.meta.roles){
  if(to.meta.roles.includes(role)){
   next() //放行
  }else{
   next({path:"/404"}) //跳到404頁面
  }
 }else{
  next() //放行
 }
routerLoading ? glo_loading.loadingHide() : ''//關(guān)閉loading層
})

在ajax請求的時候調(diào)用全局loading,代碼如下:

// 添加請求攔截器
service.interceptors.request.use(function (config) {
 // 在發(fā)送請求之前做些什么
 apiLoading ? glo_loading.loadingShow() : ''//全局loading是否啟用
 return config;
}, function (error) {
 // 對請求錯誤做些什么
 console.log(error);
 return Promise.reject(error);
});

// 添加響應(yīng)攔截器
service.interceptors.response.use(function (response) {
 // 對響應(yīng)數(shù)據(jù)做點什么
 if(response.status == 200){
   return response.data;
 }else{
  Promise.reject();
 }
}, function (error) {
 // 對響應(yīng)錯誤做點什么
 console.log(error);
 apiLoading ? glo_loading.loadingHide() : ''
 return Promise.reject(error);
});

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

相關(guān)文章

  • vue腳手架中配置Sass的方法

    vue腳手架中配置Sass的方法

    本篇文章主要介紹了vue腳手架中配置Sass的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面的實例代碼

    vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面的實例代碼

    這篇文章主要介紹了vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • vue完美實現(xiàn)el-table列寬自適應(yīng)

    vue完美實現(xiàn)el-table列寬自適應(yīng)

    這篇文章主要介紹了vue完美實現(xiàn)el-table列寬自適應(yīng),對vue感興趣的同學(xué),可以參考下
    2021-05-05
  • vue中的mixins混入使用方法

    vue中的mixins混入使用方法

    這篇文章主要介紹了vue中的mixins混入使用方法,混入又分全局混入混入局部混入,下文對兩者都有相關(guān)介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • el-select下拉選擇緩存的實現(xiàn)

    el-select下拉選擇緩存的實現(xiàn)

    本文主要介紹了在使用el-select實現(xiàn)下拉選擇緩存時遇到的問題及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Vue實現(xiàn)固定定位圖標(biāo)滑動隱藏效果

    Vue實現(xiàn)固定定位圖標(biāo)滑動隱藏效果

    移動端頁面,有時候會出現(xiàn)一些固定定位在底部圖標(biāo),比如購物車等。這篇文章主要介紹了Vue制作固定定位圖標(biāo)滑動隱藏效果,需要的朋友可以參考下
    2019-05-05
  • 如何解決vuex在頁面刷新后數(shù)據(jù)被清除的問題

    如何解決vuex在頁面刷新后數(shù)據(jù)被清除的問題

    這篇文章主要介紹了如何解決vuex在頁面刷新后數(shù)據(jù)被清除的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue watch自動檢測數(shù)據(jù)變化實時渲染的方法

    vue watch自動檢測數(shù)據(jù)變化實時渲染的方法

    本篇文章主要介紹了vue watch自動檢測數(shù)據(jù)變化實時渲染的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法

    vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法

    今天小編就為大家分享一篇vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 淺談vue加載優(yōu)化策略

    淺談vue加載優(yōu)化策略

    這篇文章主要介紹了淺談vue加載優(yōu)化策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論

顺平县| 调兵山市| 资阳市| 江西省| 桐庐县| 随州市| 许昌县| 额尔古纳市| 东至县| 揭西县| 洛扎县| 高青县| 边坝县| 喀喇沁旗| 古交市| 灵川县| 广安市| 水富县| 屯留县| 财经| 阳泉市| 蒲江县| 米林县| 台中市| 同仁县| 巴中市| 科技| 蕉岭县| 吉木乃县| 宜兰县| 普定县| 公安县| 顺昌县| 巨鹿县| 保亭| 叙永县| 客服| 广昌县| 冀州市| 龙游县| 体育|