使用vue实现加载页

 更新时间:2022年07月05日 13:09:55   作者:歌声缓缓  
这篇文章主要为大家详细介绍了使用vue实现加载页,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了用vue实现加载页的具体代码,供大家参考,具体内容如下

<template>
    <div class="bac" style="height:1024px;display: flex;align-items: center;justify-content: center;">
        <div class="wrap-content">
            <img class="logo" src="../../assets/img/logo.png" :style="{'margin-left':percent}">
            <div class="bar">
                <div :style="{width:percent}" class="loadingBar">

                </div>
            </div>
            <div class="percentFont">{{percent}}</div>
            <div class="fontTitle">报告生成中...</div>
        </div>
    </div>
</template>

<script>
    export default {
        name: "loading",
        data() {
            return{
                count: 0,
                percent:'0',
                imgs:[
                    require("@/assets/img/bg.png"),
                    require("@/assets/img/icon1.png"),
                    require('@/assets/img/icon2.png'),
                    require('@/assets/img/icon3.png'),
                    require('@/assets/img/icon4.png'),
                    require('@/assets/img/icon5.png'),
                    require('@/assets/img/icon6.png'),
                    require('@/assets/img/loading-bg.png'),
                    require('@/assets/img/logo.png'),
                    require('@/assets/img/page3-title.png'),
                    require('@/assets/img/pic1.png'),
                    require('@/assets/img/pic2.png'),
                    require('@/assets/img/pic3.png')
                 )
                ]
            }
        },
        mounted() {
            this.preload();
        },
        watch:{
            count: function (val) {

                if ( val === this.imgs.length) {
                    // 图片加载完成后跳转页面
                    console.log(" 准备就绪 >>>", val)
                    this.$router.push({path: 'index'})
                }
            }
        },
        methods:{
            preload:function () {
                for (let img of this.imgs) {
                    let image = new Image()
                    image.src = img
                    image.onload = () => {
                        this.count++
                        // 计算图片加载的百分数,绑定到percent变量
                        let percentNum = Math.floor(this.count / this.imgs.length * 100)
                        if (percentNum == 100) {
                            percentNum = 99
                        }
                        this.percent = `${percentNum}%`
                    }

                }
            }
        }
    }
</script>

<style scoped>
    .bac {
        width: 100%;
        background: url("../../assets/img/loading-bg.png") no-repeat top right;
        background-size: 100% 100%;
        overflow: hidden;
        position: relative;
    }
    .logo{
        width: 98px;
        height: 98px;
    }
    .percentFont {
        font-size: 32px;
        color: #046353;
        letter-spacing: 0.84px;
        text-align: center;
        margin-top: 32px;
    }

    .bar {
        margin-top: 50px;
        width: 300px;
        height: 8px;
        opacity: 0.8;
        background: #FFFFFF;
        border-radius: 4px;
    }

    .loadingBar {
        height: 8px;
        background-image: linear-gradient(-47deg, #046353 0%, #046353 100%);
        border-radius: 4px;
    }

    .fontTitle {
        margin-top: 12px;
        font-size: 32px;
        color: #046353;
        letter-spacing: 0.84px;
        text-align: center;
        font-weight: 400;
    }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 在Vue中定义和调用过滤器的方法

    在Vue中定义和调用过滤器的方法

    过滤器(Filters)是 vue 为开发者提供的功能,常用于文本的格式化,这篇文章主要介绍了如何在Vue中定义和调用过滤器,需要的朋友可以参考下
    2023-09-09
  • Vue实现快捷键录入功能的示例代码

    Vue实现快捷键录入功能的示例代码

    有的时候项目需要在页面使用快捷键,而且需要对快捷键进行维护。本文将为大家展示Vue实现快捷键录入功能的示例代码,感兴趣的可以了解一下
    2022-04-04
  • vue配置文件自动生成路由和菜单实例代码

    vue配置文件自动生成路由和菜单实例代码

    因为不同的用户有不同的权限,能访问的页面是不一样的,所以我们在写后台管理系统时就会遇过这样的需求:根据后台数据动态添加路由和菜单,这篇文章主要给大家介绍了关于vue配置文件自动生成路由和菜单的相关资料,需要的朋友可以参考下
    2021-08-08
  • Vue实现未登录跳转到登录页的示例代码

    Vue实现未登录跳转到登录页的示例代码

    本文主要介绍了Vue实现未登录跳转到登录页的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 使用Vue如何写一个双向数据绑定(面试常见)

    使用Vue如何写一个双向数据绑定(面试常见)

    这篇文章主要介绍了使用Vue如何写一个双向数据绑定,在前端面试过程中经常会问到,文中主要实现v-model,v-bind 和v-click三个命令,其他命令也可以自行补充。需要的朋友可以参考下
    2018-04-04
  • Vuex实现数据共享的方法

    Vuex实现数据共享的方法

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。这篇文章主要介绍了Vuex实现数据共享的方法,需要的朋友可以参考下
    2019-12-12
  • 手把手教你Vue3如何封装组件

    手把手教你Vue3如何封装组件

    vue2和vue3的组件封装还是有区别,下面这篇文章主要给大家介绍了关于Vue3如何封装组件的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue3具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • Vue计算属性的使用

    Vue计算属性的使用

    本篇文章主要介绍了Vue计算属性的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • vue中input type=file上传后@change事件无效的解决方案

    vue中input type=file上传后@change事件无效的解决方案

    这篇文章主要介绍了vue中input type=file上传后@change事件无效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • element如何初始化组件功能详解

    element如何初始化组件功能详解

    Element UI是一套基于Vue的桌面端组件库,封装好了很多常用的UI组件,下面这篇文章主要给大家介绍了关于element如何初始化组件功能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12

最新评论