NProgress进度条在nuxt项目中使用

NProgress.js在nuxt项目中的使用

nprogress 插件是一个适用于ajax 应用的轻量级的进度条插件
使用步骤:
在plugins中新建一个文件引入NProgress和css文件

import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

使用的话也非常的简单:

//开启进度条
NProgress.start();
//关闭进度条
NProgress.done();
//设置百分比
NProgress.set(0.4)
//稍微增加
NProgress.inc()

还可以配置一下参数:

//minimum 设置开始时最低百分比,默认是0.08
NProgress.configure({ minimum: 0.1 });
//template改变进度条的HTML结构。为了保证进度条正常工作,需要一个包含role='bar' 属性的元素
NProgress.configure({
  template: "<div class='....'>...</div>"
});
//ease和speed ease可传递CSS3缓冲动画字符串(如ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier)。speed为动画速度(默认200,单位ms)
NProgress.configure({ easing: 'ease', speed: 500 });
//trickle 是否显示进度条,默认:true
NProgress.configure({ trickle: false });
//trickleSpeed设置每次进度条步进速度(ms)
NProgress.configure({ trickleSpeed: 200 });
//showSpinner是否显示环形进度动画,默认true
NProgress.configure({ showSpinner: false });
//parent 指定改变的父容器,默认body
NProgress.configure({ parent: '#container' });

其中进度条的背景颜色、高度等都可以自己改变nprogress.css来实现
最后一步,在路由跳转的时候使用:

export default ({ app }) => {
  app.router.beforeEach((to, from, next) => {
    NProgress.start();
    next()
  });

  app.router.afterEach(() => {
    NProgress.done()
  });
}
posted @ 2020-06-08 21:35  香荣如梦  阅读(812)  评论(0编辑  收藏  举报