详解如何在Vue3+TS的项目中使用NProgress进度条

 更新时间:2022年06月21日 15:15:37   作者:一碗周  
本文主要介绍了详解如何在Vue3+TS的项目中使用NProgress进度条,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

写在前面

NProgress是一个轻量级的进度条组件,在Github上已经2.4万star数了,虽然这个组件已经好久没有更新了,最近一次更新是20年4月份,改了jQuery的版本,但是该组件的使用频率还是高的。

🍑 在项目中安装

这里的包管理工具使用的npm,如果你使用的是yarn或者pnpm,请自行更改安装命令,安装命令如下:

npm i nprogress -S

因为我们是TS的项目,还需要安装其类型声明文件,命令如下:

npm i @types/nprogress -D

🍒 简单的封装

现在我们对NProgress进行一下简单的封装,首先我们在utils目录下创建要给nporgress.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 '/@/utils/nprogress'

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

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

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

router.afterEach(() => {
  close()
})
  • beforeEach:路由切换之前触发;

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

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

到此这篇关于详解如何在Vue3+TS的项目中使用NProgress进度条的文章就介绍到这了,更多相关Vue3  NProgress进度条内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue2中使用echarts实现中国地图、在中国地图上标注坐标散点图的操作代码

    vue2中使用echarts实现中国地图、在中国地图上标注坐标散点图的操作代码

    这篇文章主要介绍了vue2中使用echarts实现中国地图、在中国地图上标注坐标散点图,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • vue element-ui中table合计指定列求和实例

    vue element-ui中table合计指定列求和实例

    这篇文章主要介绍了vue element-ui中table合计指定列求和实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Element-Plus之el-col与el-row快速布局

    Element-Plus之el-col与el-row快速布局

    el-col是el-row的子元素,下面这篇文章主要给大家介绍了关于Element-Plus之el-col与el-row快速布局的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • vue props数据传递类型限制方式

    vue props数据传递类型限制方式

    这篇文章主要介绍了vue props数据传递类型限制方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 基于vue与element实现创建试卷相关功能(实例代码)

    基于vue与element实现创建试卷相关功能(实例代码)

    这篇文章主要介绍了基于vue与element实现创建试卷相关功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • vue3+ts中定义ref变量,设置变量类型方式

    vue3+ts中定义ref变量,设置变量类型方式

    这篇文章主要介绍了vue3+ts中定义ref变量,设置变量类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 使用axios请求接口,几种content-type的区别详解

    使用axios请求接口,几种content-type的区别详解

    今天小编就为大家分享一篇使用axios请求接口,几种content-type的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • vue组件实例解析

    vue组件实例解析

    Tag组件其实是一个很小的组件,业务价值很低,主要用于Vue新手入门。主要实现Vue常用的父组件改变子组件的值,view改变model,model的变化反应到view上,事件的绑定等功能。下面跟着小编一起来看下吧
    2017-01-01
  • vue调用原生方法交互解读

    vue调用原生方法交互解读

    这篇文章主要介绍了vue调用原生方法交互,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue自定义指令directive的使用方法分享

    Vue自定义指令directive的使用方法分享

    这篇文章主要为大家详细介绍了Vue中自定义指令directive的使用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04

最新评论