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 相关文章推荐
CCPry JS类库 代码
Oct 30 Javascript
Javascript Request获取请求参数如何实现
Nov 28 Javascript
jquery异步跨域访问代码
Jun 28 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
Javascript中的关键字和保留字整理
Oct 16 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
Angular.js实现注册系统的实例详解
Dec 18 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
jQuery Dom元素操作技巧
Feb 04 jQuery
Java设计中的Builder模式的介绍
Mar 22 Javascript
详解vue-router 命名路由和命名视图
Jun 01 Javascript
使用react-virtualized实现图片动态高度长列表的问题
May 28 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
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
php使用正则验证中文
2016/04/06 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
javascript数组的使用
2013/03/28 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
django 中QuerySet特性功能详解
2019/07/25 Python
python多进程使用函数封装实例
2020/05/02 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
linux下进程间通信的方式
2014/12/23 面试题
外国人聘用意向书
2014/04/01 职场文书
特教教师先进事迹
2014/05/21 职场文书
交通安全横幅标语
2014/10/07 职场文书
死者家属慰问信
2015/03/24 职场文书
学习经验交流会总结
2015/11/02 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android