vue自定义全局loading

//loading.vue
<template>
  <div class="load">
    <div class="load-content">
      <img :src="require('src/static/images/loading.gif')"/>
      <slot></slot>
    </div>
    <div class="load-mark"></div>
  </div>
</template>
<script>
export default {
  // loading组件
  name: 'loading'
}
</script>
<style scoped lang="less">
.load{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index: 4000;
  &-content{
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: scaleY(-50%);
    z-index: 4002;
    img{
      width:15%;
    }
  }
  &-mark{
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index: 4001;
    background: #fff;
    opacity: 0.6;
  }
}
</style>

//loading/index.js
import load from './loading.vue'
import Vue from 'vue'
let _loading = null
const loading = {
  show(con = {}) {
    let Instance = Vue.extend(load)
    let vm = new Instance()
    for (let i in con) {
      vm[i] = con[i]
    }
    _loading = vm.$mount().$el
    document.body.appendChild(_loading)
  },
  clear() {
    if (_loading && _loading.contains && document.body.contains(_loading)) {
      document.body.removeChild(_loading)
      _loading = null
    } 
  }
}
export default loading
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值