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 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
传智播客学习之JavaScript基础篇
Nov 13 Javascript
javascript中自定义对象的属性方法分享
Jul 12 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
jQuery实现文本框输入同步的方法
Jun 20 Javascript
vue增删改查的简单操作
Jul 15 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
详解Vue源码之数据的代理访问
Dec 11 Javascript
如何使用less实现随机下雪动画详解
Jan 02 Javascript
通过循环优化 JavaScript 程序
Jun 24 Javascript
解决layui-open关闭自身窗口的问题
Sep 10 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
Jun 26 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
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
使用EduBlock轻松学习Python编程
2018/10/08 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
深入了解Django View(视图系统)
2019/07/23 Python
python django中8000端口被占用的解决
2019/12/17 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
应届生法律求职信
2013/10/22 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
记账会计岗位职责
2014/06/16 职场文书
小学运动会演讲稿
2014/08/25 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers