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自动判断浏览器分辨率的代码
Jan 28 Javascript
jQuery中 noConflict() 方法使用
Apr 25 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
Jul 10 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
jQuery采用连缀写法实现的折叠菜单效果
Sep 18 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 Javascript
JavaScript实现实时更新系统时间的实例代码
Apr 04 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
May 27 Javascript
JS判断一个数是否是水仙花数
Jun 11 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
vue组件的路由高亮问题解决方法
May 11 Vue.js
微信小程序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下使用以下代码连接并测试
2008/04/09 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
python之DataFrame实现excel合并单元格
2021/02/22 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
销售找工作求职信
2013/12/20 职场文书
会计系中文个人求职信
2013/12/24 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
创先争优活动心得体会
2014/09/04 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
教师师德表现自我评价
2015/03/05 职场文书
退休欢送会致辞
2015/07/31 职场文书
朋友离别感言
2015/08/04 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
粗暴解决CUDA out of memory的问题
2021/05/22 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js