vue+axios+element ui 实现全局loading加载

**

vue+axios+element ui 实现全局loading加载标题

**

实现全局loading加载

我们只需要在请求发起的时候开始loading在这里插入代码片,响应结束的时候关闭loading

/**
 * http拦截器配置
 * this.$store.commit("a", 'b');   a=参数名   b=参数值
 * this.$store.state.task.selectComplete.selections;   取值示例
 */
import Vue from 'vue'
// 引入axios以及iview中的 Spin 和 Message 组件
import axios from 'axios'
import { Spin, Message } from 'view-design'
// 超时时间
axios.defaults.timeout = 150000;
axios.defaults.baseURL = '/api/';
axios.defaults.showLoading = true;
axios.defaults.aaa = 'true';
axios.defaults.withCredentials = true; //意思是携带cookie信息,保持session的一致性

let loading        //定义loading变量

function startLoading () {    //使用 iview show 方法
    loading = Spin.show({
        render: (h) => {
            return h('div', [
                h('Icon', {
                    'class': 'demo-spin-icon-load',
                    props: {
                        type: '.............',
                        size: 18
                    }
                }),
                h('div', 'Loading')
            ])
        }
    })
}
function endLoading () {    //使用 iview hide 方法
    Spin.hide()
}
//那么 showFullScreenLoading() tryHideFullScreenLoading() 要干的事儿就是将同一时刻的请求合并。
//声明一个变量 needLoadingRequestCount,每次调用showFullScreenLoading方法 needLoadingRequestCount + 1。
//调用tryHideFullScreenLoading()方法,needLoadingRequestCount - 1。needLoadingRequestCount为 0 时,结束 loading。
let needLoadingRequestCount = 0
export function showFullScreenLoading () {
    if (needLoadingRequestCount === 0) {
        startLoading()
    }
    needLoadingRequestCount++
}

export function tryHideFullScreenLoading () {
    if (needLoadingRequestCount <= 0) return
    needLoadingRequestCount--
    if (needLoadingRequestCount === 0) {
        endLoading()
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值