vue使用nprogress(进度条)

目录

1.安装

2.引入

3.配置

4.使用

5.使用场景

6.改变颜色


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.使用场景

  • 路由中使用

      router.beforeEach((to, from , next) => {
      //每次切换页面时,调用进度条
      	NProgress.start();
      // 这个一定要加,没有next()页面不会跳转的。这部分还不清楚的去翻一下官网就明白了
      	next();
      });
      router.afterEach(() => {
      // 在即将进入新的页面组件前,关闭掉进度条
      	NProgress.done()
      })
    
  • 封装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/xm1037782843/article/details/129026477