vue使用进度条nprogress

1 安装

npm install --save nprogress

2 引入

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

3 配置

NProgress.configure({
    
    
	easing: 'ease',  // 动画方式,和css动画属性一样(默认:ease)
	speed: 500,  // 递增进度条的速度,单位ms(默认: 200)
	showSpinner: false, // 是否显示加载ico
	trickle: true,//是否自动递增
	trickleSpeed: 200, // 自动递增间隔
	minimum: 0.3, // 初始化时的最小百分比,0-1(默认:0.08)
	parent: '#container'//指定此选项以更改父容器(默认:body)
})

4 使用

 NProgress.start()// 开始
 NProgress.set(0.4) // 设置进度,0-1
 NProgress.inc() // 增加一点点
 NProgress.done() // 完成

5 使用场景

  1. 路由中使用
// 导航全局前置守卫
router.beforeEach((to, from, next) => {
    
    
	//每次切换页面时,调用进度条
    NProgress.start();
    // 这个一定要加,没有next()页面不会跳转的。
    next();
 }
router.afterEach(() => {
    
    
// 在即将进入新的页面组件前,关闭掉进度条
    NProgress.done();
})
  1. 封装axios使用
  //在request拦截器中显示进度条Nprogress.start()
  axios.interceptors.request.use(config => {
    
    
  	  //请求开始时显示进度条
  	  Nprogress.start()
  	  return config
  })
  //response中完成进度条Nprogress.done()
  axios.interceptors.response.use(config => {
    
    
  	  //服务响应时完成进度条
  	  Nprogress.done()
  	  return config
  })

6 改变颜色

在App.vue中的style中增加:

#nprogress .bar {
    
    
  background: red !important; //自定义颜色
}

猜你喜欢

转载自blog.csdn.net/m0_57809042/article/details/130050620