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, // 是否显示加载icotrickle: true,//是否自动递增trickleSpeed: 200, // 自动递增间隔minimum: 0.3, // 初始化时的最小百分比,0-1(默认:0.08)parent: '#container'//指定此选项以更改父容器(默认:body)
})
4.使用
NProgress.start()// 开始NProgress.set(0.4) // 设置进度,0-1NProgress.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; //自定义颜色
}