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+FSO遍历文件夹下文件并显示
Mar 07 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
js模拟点击事件实现代码
Nov 06 Javascript
javascript获取form里的表单元素的示例代码
Feb 14 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
Dec 15 Javascript
javascript 闭包详解及简单实例应用
Dec 31 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
es6函数之箭头函数用法实例详解
Apr 25 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 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 session有效期session.gc_maxlifetime
2011/04/20 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
laravel安装和配置教程
2014/10/29 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
JS命名空间的另一种实现
2013/08/09 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
javascript中 try catch用法
2015/08/16 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python用户管理系统的实例讲解
2017/12/23 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
python中for用来遍历range函数的方法
2018/06/08 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
检讨书范文1000字
2015/01/28 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python