loading.vue
//创建loading.vue
<template>
<div class="loadingBox" v-show="loading" style=" background-color: rgba(0, 0, 0, 0.5)">
<div class="sun-loading"></div>
</div>
</template>
<script>
export default {
name: "loading",
data() {
return {
loading: false,
};
},
created() {
var that = this;
this.bus.$on("loading", function (data) {
that.loading = !!data;
});
},
};
</script>
<style lang="less" scoped>
.sun-loading {
width: 45px;
height: 45px;
display: block;
animation: sunLoading 1s steps(12, end) infinite;
background: transparent url('http://www.sucaijishi.com/uploadfile/2013/0527/20130527034921885.gif?imageMogr2/format/jpg/blur/1x0/quality/60');
background-size: 100%;
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
</style>
App.vue引入
main.js中全局注册
Vue.prototype.bus = new Vue();
页面使用