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 相关文章推荐
正则表达式语法
Oct 09 Javascript
Javascript----文件操作
Jan 18 Javascript
js 深拷贝函数
Dec 04 Javascript
JavaScript去掉数组中的重复元素
Jan 13 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
Angular路由简单学习
Dec 26 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 Javascript
基于JS判断对象是否是数组
Jan 10 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
May 06 Javascript
vue-iview动态新增和删除的方法
Jun 17 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和XSS跨站攻击的防范
2007/04/17 PHP
php中大括号作用介绍
2012/03/22 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
js获取事件源及触发该事件的对象
2013/10/24 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python实现吃苹果小游戏
2020/03/21 Python
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
生物化工工艺专业应届生求职信
2013/10/08 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
银行资信证明
2015/06/17 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery