uniapp使用loading组件

如果要在点击事件里面加loading组件的话直接this.loading=true就可以了

//loading组件
<template>
    <view v-if="loading" class="loading_container">
        <view  class="loading">
            <view class="loading_a"></view>
            <view class="loading_b"></view>
            <view class="loading_c"></view>
        </view>
    </view>
</template>

<script>
export default {
    props:{
        loading:{
            type:Boolean
        }
    }
};
</script>

<style>
.loading_container {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background:#fff;
    z-index: 10000;
    display: flex;
    justify-content: center;
    align-items: center;
}
@keyframes ball-beat {
    50% {
        opacity: 0.2;
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
.loading {
    width: 200rpx;
    margin-top: -36rpx;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.loading_a,
.loading_b,
.loading_c {
    width: 40rpx;
    height: 40rpx;
    margin: 10rpx;
    display: inline-block;
    -webkit-animation: ball-beat 0.7s 0s infinite linear;
    animation: ball-beat 0.7s 0s infinite linear;
    background-color: #5096fa;
    border-radius: 100%;
}
.loading_b {
    -webkit-animation-delay: -0.35s !important;
    animation-delay: -0.35s !important;
}
</style>
//主页面
<template>
    <view class="content">
        <Loading :loading='loading'></Loading>//组件使用
    </view>
</template>

<script>
    import Loading from '../loading/index.nvue'//引入loading组件
    export default {
        data() {
            return {
                loading: true,//默认值为true(开启)false为关闭
            }
        },
        onLoad() {
            console.log(this.loading);
            this.loadingTimeout()//页面第一次打开时调用loading

        },
        components: {
            Loading//组件注册
        },
        methods: {
            loadingTimeout() {
                setTimeout(() => {
                    this.loading = false;
                    console.log(this.loading);
                }, 2000);
                console.log(this.loading);
            },
    }

猜你喜欢

转载自blog.csdn.net/m0_45865109/article/details/129136102