欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue项目页面跳转时,窗口上方显示进度条

程序员文章站 2022-03-25 16:29:00
在vue项目中,为了减少首屏加载的时间,通常会开启路由的懒加载。路由懒加载配合gizp确实能帮助我们大大的加快首屏的加载时间。 然而,路由懒加载会使得我们在第一次打开一个新页面的时候,会有一个加载时间。如果在这个时候我们没有一个提示的话,给人的感觉会是好像我点了页面跳转但是没反应。所以,这个时候我们 ......

在vue项目中,为了减少首屏加载的时间,通常会开启路由的懒加载。路由懒加载配合gizp确实能帮助我们大大的加快首屏的加载时间。

然而,路由懒加载会使得我们在第一次打开一个新页面的时候,会有一个加载时间。如果在这个时候我们没有一个提示的话,给人的感觉会是好像我点了页面跳转但是没反应。所以,这个时候我们可以加一个进度条来告知用户。

具体实现,我们使用nprogress这个滚动条效果插件。

1.安装:

cnpm install --save nprogress

2.在main.js中引入:

1 import nprogress from 'nprogress'
2 import 'nprogress/nprogress.css'

3.在main.js中进行配置:

Vue项目页面跳转时,窗口上方显示进度条
1 nprogress.configure({     
2     easing: 'ease',  // 动画方式    
3     speed: 500,  // 递增进度条的速度    
4     showspinner: false, // 是否显示加载ico    
5     tricklespeed: 200, // 自动递增间隔    
6     minimum: 0.3 // 初始化时的最小百分比
7 })
Vue项目页面跳转时,窗口上方显示进度条

4.在main.js中对路由钩子进行设置:

 router.beforeeach((to, from , next) => {
     // 每次切换页面时,调用进度条
    nprogress.start();
    // 若加载时间长且不定,担心进度条走完都没有加载完,可以调用
  nprogress.inc();//这会以随机数量递增,且永远达不到100%,也可以设指定增量
next(); }); //当路由进入后:关闭进度条 router.aftereach(() => { // 在即将进入新的页面组件前,关闭掉进度条 nprogress.done() })