Vue3 + ts 项目中使用进度条(NProgress)

写在前面
NProgress是一个轻量级的进度条组件,在Github上已经有上万star数了,所以该组件的使用频率还是高的。

安装

npm i -S nprogress
或
npm i -S nprogress

使用yarn 
yarn add nprogress

简单的封装使用

在项目中新建一个文件目录nprogress,在新建一个文件nprogress.ts
后引入NProgress和CSS样式文件,示例代码如下:

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

然后我们对进度条进行一些基础配置,示例代码如下:

//全局进度条的配置
NProgress.configure({
  easing: 'ease', // 动画方式
  speed: 1000, // 递增进度条的速度
  showSpinner: false, // 是否显示加载ico
  trickleSpeed: 200, // 自动递增间隔
  minimum: 0.3, // 更改启动时使用的最小百分比
  parent: 'body', //指定进度条的父容器
})

最后我们封装两个方法,一个是开始方法,一个是结束的方法,示例代码如下:

// 打开进度条
export const start = () => {
  NProgress.start()
}

// 关闭进度条
export const close = () => {
  NProgress.done()
}

在Vue切换路由时展示进度条

现在我们就来使用我们上面封装的Nprogress,这里我们在VueRouter的配置文件中使用,实现切换路由时在顶部展示进度条,首先我们打开VueRouter的配置文件,然后引入我们封装的Nprogress:

// router/index.ts

import { close, start } from '@/nprogress/nprogress'

然后我们在创建的Router实例中使用这两个方法:

const router = createRouter({
  routes,
  history: createWebHistory(),
})

router.beforeEach((pre, next) => {
  start()
})

router.afterEach(() => {
  close()
}

beforeEach:路由切换之前触发;

afterEach:路由切换完成后触发;

现在我们切换路由就可以实现顶部进度条的切换。

原文地址:滴滴

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值