vue页面加载时的进度条功能(实例代码)
先看一张图
如果我们的程序每次页面切换时,顶部也有一个进度条,那会让用户体验提升很大的。
npropgress插件
github地址
简单用法-Vue项目为例(详细配置,点击上面的github地址查看文档)
最简单的使用方式:vue项目的每次路由切换时,都加载进度条
安装
npminstall--savenprogress
引入
在路由配置文件中引入,写到路由加载前和加载后的两个钩子函数中
//引入 importNProgressfrom'nprogress'; import'nprogress/nprogress.css'; //进度条配置项这样写 NProgress.configure({ showSpinner:false }); //路由跳转前钩子函数中-执行进度条开始加载 router.beforeEach((to,from,next)=>{ NProgress.start(); }); //路由跳转后钩子函数中-执行进度条加载结束 router.afterEach(()=>{ NProgress.done(); });
如果是cdn引入的话,如下
设置进度条颜色
如果是一般的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:"...