vue实现页面加载的进度条

这次给大家带来vue实现页面加载进度条,vue实现页面加载进度条的注意事项有哪些,下面就是实战案例,一起来看一下。

页面加载进度条最初我是在youtube上看到的,后面几乎在各大网站上都能见到它的身影,可以让用户在加载页面的时候不会对着完全空白的页面发呆,提升用户体验

但是从开发角度讲,这种进度条在真实性上确实很难把握,因为在逻辑代码加载完成之前,我们都不能统计到进度,而逻辑代码自身的进度也无法统计。另外,我们不可能监控到所有资源的加载情况。

事实上,用户并不是在乎你的页面究竟加载了百分之几,而真正关心的是离加载完还有多久,以及这个空白页面是没有加载完,还是加载完就是空白的。所以没我们需要去“模拟”一个进度条,在后端数据返回前利用一个假的动画效果模拟加载,在数据返回后读完进度条并且隐藏。

// progress-bar.vue  

export default { data() { return { isShow: true, // 是否显示进度条 val: 0, // 进度 } }, props: { /** * 每10毫秒自增幅度 */ step: { type: Number, default: 5, }, /** * 初始值 */ initVal: { type: Number, default: 0, }, /** * 到一定进度停止 */ stopVal: { type: Number, default: 80, }, /** * 进度条继续到成功 */ isOk: { type: Boolean, default: false, }, }, mounted() { // 初始化后加载进度,加载到百分之多少由stopVal决定 this.val = this.initVal let step = this.step let timer = setInterval(() => { this.val = this.val + step this.$el.style.width = this.val + '%' // 父组件数据加载完前进度条最多到stopVal的这个百分值 if (this.val >= this.stopVal) { clearInterval(timer) return } }, 10) }, watch: { /** * 监听组件props变化决定是否继续加载,一般在父组件数据加载完后改变此标志位 */ isOk() { let val = this.val let step = this.step let timer = setInterval(() => { val = val + step this.$el.style.width = val + '%' // 加载到百分百完成 if (val >= 100) { // 关闭定时器 clearInterval(timer) // 加载完成关闭进度条 this.isShow = false // 加载完成的回调 this.$emit('callback', 'load success') return } }, 10) }, }, } .progress-bar { position fixed top 0 height 6px width 0 background-color #999 } .fade { &-enter-active, &-leave-active { transition: all .3s } &-enter, &-leave-active { opacity: 0 } }

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

 vue改变当前选中项的状态

vue+checkbox怎样操作数据绑定及获取与计算

以上就是vue实现页面加载的进度条的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2773146.html

(0)
上一篇 2025年3月8日 13:39:33
下一篇 2025年3月8日 13:39:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue2.0怎样开发多页面

    这次给大家带来vue2.0怎样开发多页面,vue2.0开发多页面的注意事项有哪些,下面就是实战案例,一起来看一下。 我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是。因为vue在工程化开发的时候很依赖web…

    编程技术 2025年3月8日
    200
  • 一个单独页面内如何实现两个zTree联动

    这次给大家带来一个单独页面内如何实现两个zTree联动,一个单独页面内实现两个zTree联动的注意事项有哪些,下面就是实战案例,一起来看一下。 简介 zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插…

    编程技术 2025年3月8日
    200
  • easyui的下拉框动态级联加载的实现方法(附代码)

    这次给大家带来easyui的下拉框动态级联加载的实现方法(附代码),easyui下拉框动态级联加载的注意事项有哪些,下面就是实战案例,一起来看一下。 easyui的下拉框动态加载数据,高校中要根据首先查询所有学院,然后根据学院动态加载课程。…

    2025年3月8日
    200
  • js和jquery如何实现自动加载图片(附代码)

    这次给大家带来js和jquery如何实现自动加载图片(附代码),js和jquery实现自动加载图片的注意事项有哪些,下面就是实战案例,一起来看一下。 一、JavaScript自动加载 ①在文本中用onload: 当页面中所有内容(包括图片)…

    编程技术 2025年3月8日
    200
  • 操作modal单次加载数据

    这次给大家带来操作modal单次加载数据,操作modal单次加载数据的注意事项有哪些,下面就是实战案例,一起来看一下。 1. Bootstrap 模态对话框和简单使用 x 对话框标题 对话框主体 取消 确定 登录后复制 可以使用按钮或链接直…

    编程技术 2025年3月8日
    200
  • datatable怎样实现异步加载

    这次给大家带来datatable怎样实现异步加载,datatable实现异步加载的注意事项有哪些,下面就是实战案例,一起来看一下。 table部分代码 用户名 渠道名 游戏名 结果 耗时 创建时间 登录后复制 异步加载数据并实现定制化 下面…

    编程技术 2025年3月8日
    200
  • vue中SPA单页面应用程序详解

    这次给大家带来vue中SPA单页面应用程序详解,使用vue中SPA单页面应用程序的注意事项有哪些,下面就是实战案例,一起来看一下。 一、SPA的概述 SPA(single page application)单页面应用程序,在一个完成的应用或…

    编程技术 2025年3月8日
    200
  • 判断页面是否登陆

    这次给大家带来判断页面是否登陆,判断页面是否登陆的注意事项有哪些,下面就是实战案例,一起来看一下。 如下所示: router.beforeEach((to, from, next) => { if (to.matched.some(r…

    编程技术 2025年3月8日
    200
  • 怎么操作Vue加载顺序

    这次给大家带来怎么操作Vue加载顺序,操作Vue加载顺序的注意事项有哪些,下面就是实战案例,一起来看一下。 在Vuejs 1.0版本中,如果父子组件进行配合,它们的生命周期执行具有如下特点: 1. created总是先父后子 生命周期函数c…

    编程技术 2025年3月8日
    200
  • JS上传文件时显示进度条

    这次给大家带来js上传文件时显示进度条,js上传文件时显示进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 在php.ini修改需要的大小: upload_max_filesize = 8M    post_max_size = 1…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论