vue页面加载时的进度条功能(实例代码)


Posted in Javascript onJanuary 13, 2020

先看一张图

vue页面加载时的进度条功能(实例代码)

如果我们的程序每次页面切换时,顶部也有一个进度条,那会让用户体验提升很大的。

npropgress插件

github地址

简单用法 - Vue 项目为例(详细配置,点击上面的github地址查看文档)

最简单的使用方式:vue项目的每次路由切换时,都加载进度条

安装

npm install --save nprogress

引入

在路由配置文件中引入,写到路由加载前和加载后的两个钩子函数中

// 引入
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
// 进度条配置项这样写
NProgress.configure({
 showSpinner: false
});
// 路由跳转前钩子函数中 - 执行进度条开始加载
router.beforeEach((to, from, next) => {
 NProgress.start();
});
// 路由跳转后钩子函数中 - 执行进度条加载结束
router.afterEach(() => {
 NProgress.done();
});

如果是 cdn 引入的话,如下

<script src='nprogress.js'></script>
<link rel='stylesheet' href='nprogress.css'/>

设置进度条颜色

如果是一般的 vue 项目,把样式放到一个css文件中,在项目主文件main.js中引入,下面是 css 样式

#nprogress .bar {
 background: #00CC00 !important; //自定义颜色
}

配置项

手动控制进度条递增,参数范围是0 - 1,不传参数的话,每次调用都会随机递增,但永远不会到达 100% ,除非调用NProgress.done();

// 调用之前如果进度条的状态 50%
NProgress.inc(0.2);
// 调用之后 70%

进度条加载完成

带参数true:即使没有调用NProgress.start(),也会显示并执行进度条从 0% - 100% 的状态,然后消失。
不带参数:如果没有调用NProgress.start(),那么此命令不会执行任何操作。

NProgress.done(true);

启动进度条时的最小百分比(默认为 0.08)

NProgress.configure({
 minimum: 0.3
});

可以使用模板更改标记。要保持进度条正常工作,要在其中保留一个role='bar'元素,参考默认模板。

// 默认模板
NProgress.configure({
 template: "<div class='....'>...</div>"
});

// 举例
NProgress.configure({
 template: "<div class='other-instance'><div role='bar'>更改标记</div></div>"
})

使用 easing 和 speed 调整动画设置,ease可传递CSS3缓冲动画字符串(如ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier),speed为动画速度(单位ms)。默认分别为 ease 200

NProgress.configure({
 easing: 'ease',
 speed: 200
});

关闭自动递增行为

NProgress.configure({
 trickle: false
});

调整递增的频率,单位为毫秒

NProgress.configure({
 trickleSpeed: 200
});

关闭微调器,默认为开启状态(上图中右上角的那个圆圈加载图标)

NProgress.configure({
 showSpinner: false,
});

更改父容器

NProgress.configure({
 parent:'#container'
});

总结

以上所述是小编给大家介绍的vue页面加载时的进度条功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery中获取select选中值的代码
Jun 27 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
JavaScript实现鼠标点击后层展开效果的方法
May 13 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
Sep 15 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
Feb 23 Javascript
浅析JS中回调函数及用法
Jul 25 Javascript
详解vue父子组件状态同步的最佳方式
Sep 10 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 #Javascript
js实现列表向上无限滚动
Jan 13 #Javascript
vue 组件销毁并重置的实现
Jan 13 #Javascript
VUE实现自身整体组件销毁的示例代码
Jan 13 #Javascript
微信小程序聊天功能的示例代码
Jan 13 #Javascript
js实现适配移动端的拖动效果
Jan 13 #Javascript
Vue 嵌套路由使用总结(推荐)
Jan 13 #Javascript
You might like
使用adodb lite解决问题
2006/12/31 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
介绍Ibatis的核心类
2013/11/18 面试题
介绍一下gcc特性
2015/10/31 面试题
《愚公移山》教学反思
2014/02/20 职场文书
事务机电主管工作职责
2014/02/25 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
写给女朋友的保证书
2015/05/09 职场文书
win10下go mod配置方式
2021/04/25 Golang
Java 数组的使用
2022/05/11 Java/Android