vue使用Nprogress进度条功能实现

这篇具有很好参考价值的文章主要介绍了vue使用Nprogress进度条功能实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下图中的这种顶部进度条是非常常见的,在vue项目中有对应的插件:Nprogress

实现效果:

csdn也在使用:

vue使用Nprogress进度条功能实现,node_modules,vue.js,前端,javascript

或者这样自己使用

vue使用Nprogress进度条功能实现,node_modules,vue.js,前端,javascript

1、安装

NProgress可以通过npm安装。

npm install --save nprogress

注意此处的--save等同于-s,就是将插件的名称及版本号保存到package.json文件中的dependencies中,这样其他人克隆项目后,可以通过npm install就可以下载下来所有的插件到node_modules中了。

2、基本用法

Progress是一个轻量级的加载进度条库,它提供了一些配置项和方法来自定义和控制进度条的行为。

配置项(可通过NProgress.configure()方法进行配置):

  1. minimum:进度条最小值,默认为0。
  2. template:进度条的HTML模板,默认为'<div class="bar" role="bar"></div>'。
  3. easing:进度条的动画缓动函数,默认为'linear'。
  4. speed:进度条完成动画的速度(毫秒),默认为200。
  5. showSpinner:是否显示进度条的旋转图标,默认为true。
  6. trickle:是否启用增量加载效果,默认为false。
  7. trickleSpeed:增量加载的速度(毫秒),默认为200。

常用方法:

  1. NProgress.start():开始显示进度条,进度条从0开始。
  2. NProgress.set(value):设置进度条的当前值(范围为0到1)。
  3. NProgress.inc():增加进度条的当前值(默认增加0.1)。
  4. NProgress.done():完成进度条,进度条到达100%并消失。

使用示例:

  1. 配置全局参数:

    NProgress.configure({ easing: 'ease', speed: 500, showSpinner: false, trickle: false });
  2. 显示进度条:

    NProgress.start();
  3. 设置进度条的当前值:

    NProgress.set(0.5);
  4. 增加进度条的当前值:

    NProgress.inc();
  5. 完成进度条:

    NProgress.done();

以上是NProgress的一些常用配置和方法,你可以根据自己的需求进行配置和调用。详细的配置项和方法可以参考官方文档或相关的API文档。

3、高级用法(具体实现)

在vue中可以封装一个ts/js文件,用来配置Nprogress插件。

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

NProgress.configure({
  // 动画方式
  easing: "ease",
  // 递增进度条的速度
  speed: 500,
  // 是否显示加载ico
  showSpinner: false,
  // 自动递增间隔
  trickleSpeed: 200,
  // 初始化时的最小百分比
  minimum: 0.3
});

export default NProgress;

此处进度条主要用于页面路由的跳转过程中,因此可以直接在router/index.js中使用:

在路由跳转之前,开启进度条加载,在路由跳转之后,结束进度条的加载。

import NProgress from "@/utils/progress";//引入进度条插件


//全局前置路由守卫
router.beforeEach((to, from, next) => {
    //页面跳转之前,开启进度条
    NProgress.start();
});


// 全局后置路由守卫
router.afterEach((to, from) => {
    //页面跳转之后,关闭启进度条
    NProgress.done();
    window.scrollTo(0, 0);

})

4、扩展:

如果我们想改变进度条的颜色,可以进入App.vue里,在style中加上下面这样几行代码即可。文章来源地址https://www.toymoban.com/news/detail-835119.html

#nprogress .bar {
  background: blue !important;    //这里可以随便写颜色
}

到了这里,关于vue使用Nprogress进度条功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 完整教程:Java+Vue+Websocket实现OSS文件上传进度条功能

    文件上传是Web应用开发中常见的需求之一,而实时显示文件上传的进度条可以提升用户体验。本教程将介绍如何使用Java后端和Vue前端实现文件上传进度条功能,借助阿里云的OSS服务进行文件上传。 后端:Java、Spring Boot 、WebSocket Server 前端:Vue、WebSocket Client 安装依赖 UploadF

    2024年02月05日
    浏览(106)
  • vue中第三方库nprogress使用

    npm i nprogress@0.2.0 说明:用于请求拦截器,响应拦截器,start进度条开始,done进度条结束 说明:放入请求拦截器里面。 说明:放入响应拦截器里面。 

    2024年02月14日
    浏览(52)
  • vue3使用Vite打包报Rollup failed to resolve import “xxx/node_modules/ant-design-vue/xxxx

    在使用vue3 + vite + ant design vue 的时候,引入一些antd的一些组件的时候,通常运行是没有错的,但是打包会报错,例如: Rollup failed to resolve import \\\"D:/xxxxx/node_modules/ant-design-vue/es/form-item-rest/style/index\\\" from \\\"src/views/xxx/xxx.vue\\\". 15:01:51 This is most likely unintended because it can break your applic

    2024年02月16日
    浏览(44)
  • 解决在Mac下使用npm报错:Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘

    详细如下: 原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹 这个错误表明你在安装或更新 Vue.js(@vue)包时,没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹。 这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。

    2024年02月08日
    浏览(107)
  • Vue没有node_modules怎么办

    npm install 一下 然后再npm run serve 就可以运行了    

    2024年02月12日
    浏览(43)
  • Vue项目快速删除node_modules文件

    vue项目开发过程中,需要重新安装node_modules文件,但删除之前的node_modules文件较慢,推荐使用命令的方式可以提高开发效率。

    2024年04月28日
    浏览(42)
  • 2021-09-16 npm install @vue/cli 卡在了 reify:rxjs: timing reifyNode: node_modules/@vue/cli/node_modules

    ​随后产生报错 查了一堆东西,后来发现其主要原因在于npm镜像源的问题。安装完nodejs之后默认镜像源为 淘宝镜像源 使用npm命令或者nrm命令切换镜像源至npm官方镜像源即可 注:本人长期科学上网因此npm官方源速度和淘宝基本没差,如果没有科学上网手段的朋友可能需要另想

    2024年02月11日
    浏览(63)
  • 多个Vue项目如何共用一个node_modules

    多个项目共同用一个项目的node_modules 问题:多个vue项目的node_modules依赖包相同,怎么共用同一个node_modules依赖包? 1.以管理员身份打开命令窗口cmd 2.输入命令:mklink /d 需要链接的项目地址 引用的源文件项目地址 1.如:源文件项目地址为:D:worksourceFilenode_modules 2.如:需要链

    2024年02月04日
    浏览(47)
  • Vue项目清理本地缓存并删除node_modules

    1. 在linux系统下,清缓存,删除node_modules 2. 在windows系统下,清缓存,删除node_modules 法一:利用 powershell 执行(推荐,速度快,秒删) 法二:利用 npm 下载 rimraf 执行 如果执行到“删除node_modules文件夹”的步骤不好用了,请直接手动删除node_modules文件

    2024年02月08日
    浏览(38)
  • vue项目node_modules越来越大的问题

    有一个vue项目,发现它的占用空间越来越大,一看是node_modules占用已经100多G了,然后测试了每次编译运行就会增大几百兆,日积月累,磁盘都快装满了。 但是并不想删除node_modules重装,后来找到了是CompressionWebpackPlugin插件开启了GZIP压缩,缓存越来越大的问题,在vue.config.j

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包