首页 > 其他分享 >vue中页面加载进度条效果的实现

vue中页面加载进度条效果的实现

时间:2023-02-23 16:25:50浏览次数:33  
标签:vue 进度条 路由 NProgress 页面 nprogress 加载

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

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

具体实现,我们使用NProgress这个滚动条效果插件。当然了,滚动条你也可以自己写一个简单的。

 

 

安装命令:

cnpm install --save nprogress

main.js 引入

//引入nprogressimport NProgress from 'nprogress'import 'nprogress/nprogress.css' //这个样式必须引入

在配置一些内容

NProgress.configure({     
    easing: 'ease',  // 动画方式    
    speed: 500,  // 递增进度条的速度    
    showSpinner: false, // 是否显示加载ico    
    trickleSpeed: 200, // 自动递增间隔    
    minimum: 0.3 // 初始化时的最小百分比
})

这里根据自己的需求进行配置。

一般会在路由钩子中这么写

router.beforeEach((to, from , next) => {
    // 每次切换页面时,调用进度条
    NProgress.start();

    // 这个一定要加,没有next()页面不会跳转的。这部分还不清楚的去翻一下官网就明白了
    next();
});
router.afterEach(() => {  
    // 在即将进入新的页面组件前,关闭掉进度条
    NProgress.done()
})

然后打开页面就可以看到页面正常在加载了

标签:vue,进度条,路由,NProgress,页面,nprogress,加载
From: https://www.cnblogs.com/chen-cheng/p/17148474.html

相关文章