vue3 + ts + pnpm:nprogress / 页面顶部进度条效果实现

 更新时间:2024年09月23日 10:57:41   作者:snowball_li  
NProgress是一款轻量级的进度条库,主要用于网页顶部显示页面加载或运行进度,它易于安装和使用,并提供良好的视觉效果,NProgress也可以与VueRouter结合使用,通过导航守卫在路由跳转时自动显示和隐藏进度条,该库的使用提高了用户对网页加载状态的感知,优化了用户体验

一、简介

nprogress 是一个轻量级的进度条库,它适用于在网页上添加顶部进度条,用于指示页面加载进度或任何长时间的运行过程。这个库非常流行,因为它易于使用且视觉效果很好。

二、安装

pnpm add nprogress

三、在使用的页面引入 / src/views/nprogress/index.vue

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

四、页面使用

4.1、配置 nprogress(可选)

NProgress.configure({ showSpinner: false }); // 关闭加载指示器

4.2、代码

<template>
  <div class="container">
    <button @click="fetchData">获取数据</button> 
  </div>
</template>
<script setup lang="ts">
import NProgress from 'nprogress'
import 'nprogress/nprogress.css';
NProgress.configure({ showSpinner: false }); // 关闭加载指示器  
const fetchData = () => {
  NProgress.start(); // 开始进度条
  setTimeout(() => {
    NProgress.done(); // 完成进度条 
    console.log('success')
  }, 3000);
}
</script>
<style scoped lang="less">
</style>

4.3、效果

五、Vue Router 中使用

如果你在使用 Vue Router,并且想要在每个路由跳转时显示和隐藏进度条,你可以使用 Vue Router 的导航守卫。

import { createRouter, createWebHistory } from 'vue-router';  
import NProgress from 'nprogress';  
import 'nprogress/nprogress.css';  
const routes = [  
  // 你的路由定义  
];  
const router = createRouter({  
  history: createWebHistory(),  
  routes,  
});  
router.beforeEach((to, from, next) => {  
  NProgress.start();  
  next();  
});  
router.afterEach(() => {  
  NProgress.done();  
});  
export default router;

六、欢迎交流指正

参考链接

https://www.npmjs.com/package/nprogress

简单又快捷的进度条—NProgress库了解一下-腾讯云开发者社区-腾讯云

到此这篇关于vue3 + ts + pnpm:nprogress / 页面顶部进度条的文章就介绍到这了,更多相关vue3页面顶部进度条内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue 2.0 服务端渲染入门介绍

    Vue 2.0 服务端渲染入门介绍

    本篇文章主要介绍了Vue 2.0 服务端渲染入门,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • vue中data数据之间如何赋值问题

    vue中data数据之间如何赋值问题

    这篇文章主要介绍了vue中data数据之间如何赋值问题,具有很好的参考价值,希望对大家有所帮助。
    2022-09-09
  • Vue不能检测到数据变化的几种情况说明

    Vue不能检测到数据变化的几种情况说明

    这篇文章主要介绍了Vue不能检测到数据变化的几种情况说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 如何正确快速使用Vue中的插槽和配置代理

    如何正确快速使用Vue中的插槽和配置代理

    这篇文章主要介绍了正确快速使用Vue中的插槽和配置代理的相关知识,插槽分为三种,分别是默认插槽、具名插槽、作用域插槽,下面分别列出了如何使用这三种插槽,需要的朋友可以参考下
    2023-01-01
  • Vue使用emit传参,父组件接收不到数据的问题及解决

    Vue使用emit传参,父组件接收不到数据的问题及解决

    这篇文章主要介绍了Vue使用emit传参,父组件接收不到数据的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • 一文教你如何一个Vue指令搞定函数防抖

    一文教你如何一个Vue指令搞定函数防抖

    防抖(Debounce)在前端开发中是一种常用的技术,它的作用是限制某个操作在短时间内的频繁触发,下面我们就来看看如何一个Vue指令搞定函数防抖吧
    2024-02-02
  • Vue中调用组件使用kebab-case短横线命名法和使用大驼峰的区别详解

    Vue中调用组件使用kebab-case短横线命名法和使用大驼峰的区别详解

    这篇文章主要介绍了Vue中调用组件使用kebab-case(短横线)命名法和使用大驼峰的区别,通过实例可以看出如果是在html中使用组件,那么就不能用大驼峰式写法,如果是在.vue 文件中就可以,需要的朋友可以参考下
    2023-10-10
  • vue3中vue.config.js配置及注释详解

    vue3中vue.config.js配置及注释详解

    在Vue 3.0中,与2.0版本相比有一定的差别,最明显的就是缺少了build、config文件夹,下面这篇文章主要给大家介绍了关于vue3中vue.config.js配置及注释的相关资料,需要的朋友可以参考下
    2022-08-08
  • elementUI组件中el-date-picker限制时间范围精确到小时的方法

    elementUI组件中el-date-picker限制时间范围精确到小时的方法

    现在需要做一个时间选择器,可以根据小时(同时选天和小时)和天 和月,节假日等类型控制日历的选择样式,下面这篇文章主要给大家介绍了关于elementUI组件中el-date-picker限制时间范围精确到小时的相关资料,需要的朋友可以参考下
    2023-04-04
  • Vue3获取地址栏参数方法详解

    Vue3获取地址栏参数方法详解

    Vue3 获取地址栏参数有两个方式:查询参数和路径参数。Vue3获取地址栏参数是从路由router中获取,查询参数和路径参数获取方式不一样。感兴趣的同学可以参考阅读
    2023-04-04

最新评论