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选项的代码
Feb 07 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
Apr 16 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 Javascript
JavaScript严格模式禁用With语句的原因
Oct 20 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
Nov 02 Javascript
ECMAScript6轮播图实践知识总结
Aug 17 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
Nov 17 Javascript
JS判断是否手机或pad访问实现方法
Dec 09 Javascript
如何使用webpack打包一个库library的方法步骤
Dec 18 Javascript
JS前端可视化canvas动画原理及其推导实现
Aug 05 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脚本的10个技巧(8)
2006/10/09 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
php防止sql注入简单分析
2015/03/18 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
Python Trie树实现字典排序
2014/03/28 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python 自动重连wifi windows的方法
2018/12/18 Python
opencv python如何实现图像二值化
2020/02/03 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
党员自我对照检查材料
2014/08/19 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
助学感谢信范文
2015/01/21 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题