【笔记】公共方法Loading

import { Loading } from 'element-ui'
let loading = null // 定义loading变量

// 开始 加载loading
const startLoading = (text = '请耐心等待...') => {
loading = Loading.service({
    lock: true,
    text: text,
     background: 'rgba(0, 0, 0, 0.7)'
  })
}

// 结束 取消loading加载
const endLoading = () => {
  loading.close()
}

// showFullScreenLoading() 与 tryHideFullScreenLoading() 目的是合并同一页面多个请求触发loading
let needLoadingRequestCount = 0 // 声明一个变量

const showFullScreenLoading = (text) => {
  if (needLoadingRequestCount === 0) { // 当等于0时证明第一次请求 这时开启loading
  startLoading(text)
  }
  needLoadingRequestCount++ // 全局变量值++
}

const tryHideFullScreenLoading = () => {
  if (needLoadingRequestCount <= 0) return // 小于等于0 证明没有开启loading 此时return
  needLoadingRequestCount-- // 正常响应后 全局变量 --
   if (needLoadingRequestCount === 0) { // 等于0 时证明全部加载完毕 此时结束loading 加载
    endLoading()
  }
}
const loadingObj = {
  showFullScreenLoading,
  tryHideFullScreenLoading
}
export default loadingObj

全局注册 main.js

import loadingObj from '文件地址'
Vue.prototype.loadingObj = loadingObj

使用

const loadingMessage = '修改中,请耐心等待...'
this.loadingObj.showFullScreenLoading(loadingMessage)

this.loadingObj.tryHideFullScreenLoading()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值