vue使用请求loading:组件形式(不推荐:太麻烦了,每个需要用到的页面都需要引用一次组件)
这是我项目中想使用loading之后踩的第一个坑,后面优化用了vant自带的提示框,比较简单,
可移步这篇文章→→→
vue+vant使用请求loading
1. com/loading.vue
<template>
<div class="loading">
<div class="load-box">
<img src="@/assets/img/Loading.png" />
</div>
</div>
</template>
<script>
export default {
name: "loading",
props: {
},
created() {
},
};
</script>
<style scoped lang="less">
.loading {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
.load-box {
background-color: rgba(0, 0, 0, 0.5);
width: 100px;
height: 100px;
border-radius: 5px;
box-shadow: 0px 1px 15px rgba(0, 0, 0, 0.5);
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
letter-spacing: 0.8px;
font-size: 13px;
img {
width: 50px;
// margin-bottom: 8px;
-webkit-animation: rotate 0.8s linear infinite;
}
}
}
@keyframes rotate {
to {
transform: rotate(360deg);
}
}
</style>
2. main.js
全局引用
import Loading from '@/components/loading'
Vue.component('Loading', Loading)
3. 在页面中使用
<!-- 组件 -->
<Loading v-show="pageLoading" />
</div>
</template>
<script>
export default {
data() {
return {
pageLoading: true, //控制是否显示
}
},
methods: {
// 查询库存
queryStorage() {
var q_obj = {
fn: "xxx",
md: "xxx",
data: {xxx:xxx},
};
this.pageLoading = true;//控制是否显示
queryStorage(q_obj)
.then((res) => {
this.pageLoading = false;//控制是否显示
})
.catch((error) => {
this.pageLoading = false; //控制是否显示
this.$toast.fail(error);
});
},
},
}
版权声明:本文为m0_55546349原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。