如何在vue项目中给路由跳转加上进度条(代码片段)

wangjiachen666 wangjiachen666     2023-02-10     264

关键词:

1.前言

在平常浏览网页时,我们会注意到在有的网站中,当点击页面中的链接进行路由跳转时,页面顶部会有一个进度条,用来标示页面跳转的进度(如下图所示)。虽然实际用处不大,但是对用户来说,有个进度条会大大减轻用户的等待压力,提升用户体验。本篇文章就来教你如何在Vue项目中实现这样的进度条。
技术分享图片

2.安装Nprogress

虽然我们也可以自己手动实现这样的功能,但是,nprogress.js已经帮我们把进度条的样式呀,功能呀都已经封装的很好了,既然有现成的轮子,我们就直接使用轮子就好啦!

npm install nprogress -S

3.在router.js中引入Nprogress

由于我们需要将Nprogress绑定在路由钩子上,所以我们直接在路由文件router.js中引入Nprogress

import NProgress from 'nprogress' 
import 'nprogress/nprogress.css'// nprogress样式文件

4.绑定路由钩子

我们想要的效果是:当路由开始跳转时加载进度条,当路由跳转完毕时进度条加载完毕。幸运的是,在Vue中刚好为我们提供了路由开始跳转和结束跳转的钩子,我们只需在引入Nprogress之后,将其绑定在路由钩子上即可。代码如下:

//当路由开始跳转时
router.beforeEach((to, from , next) => 
    // 开启进度条
    NProgress.start();
    // 这个一定要加,没有next()页面不会跳转的。这部分还不清楚的去翻一下官网就明白了
    next();
);
//当路由跳转结束后
router.afterEach(() =>   
    // 关闭进度条
    NProgress.done()
)

5.效果图

技术分享图片

6.个性化配置

当然如果你对默认的进度条外观样式不满意,Nprogress还提供了个性化配置外观。

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

7.完整代码示例

完整代码示例请戳???nprogresBar
(完)

vue项目页面跳转时候的,浏览器窗口上方的进度条显示(代码片段)

1.安装:cnpminstall--savenprogress2.在main.js中引入:1importNProgressfrom‘nprogress‘2import‘nprogress/nprogress.css‘3.在main.js中进行配置:1NProgress.configure(2easing:‘ease‘,//动画方式3speed:500,//递增进度条的速度4showSpinner 查看详情

在vue项目中使用进度条的实现(代码片段)

下载npminstallnprogress--save 基本用法Nprogress.start()Nprogress.start().done() (我在拦截器直接引入)importaxiosfrom'axios'importstorefrom"../store/index"//引入nprogressimportNprogressfrom 查看详情

vue项目实战61添加页面加载进度条效果(代码片段)

...》上一篇我们完成了数据报表的开发,本篇我们学习如何为项目添加加载进度条的效果。一、进度条效果我们要实现的效果就是,当我们点击每一个菜单,加载相应的页面时,在页面顶部中间会有一个加载的蓝色... 查看详情

vue项目常见之五:路由拦截器(permission),导航守卫(代码片段)

//处理路由拦截器导航守卫importrouterfrom‘../router‘importprogresssfrom‘nprogress‘import‘nprogress/nprogress.css‘//全局前置守卫当路由发生变化时这个方法里的回调函数就会执行router.beforeEach(function(to,from,next)progresss.start()//开启进度条//权... 查看详情

手把手教你实现一个vue进度条组件!(代码片段)

最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或npm等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录。来看下npm搜索组件时候的效果:so下面咱们一起动手实现一下呗。定义使用方式... 查看详情

vue项目中使用nprogress插件(代码片段)

...面的加载而显示进度状态。可在官网查看相关效果。在vue项目中使用nprogress插件1.安装:npminstall--savenprogress2.在src->utils文件夹下创建nprogress.js文件importrouterfrom‘@/router‘//必须引入routerimportNProgres 查看详情

vue项目启动后跳转到制定路由页面(代码片段)

...,大家可以看下我的布局:安装并使用路由关于如何安装并使用路由,可以参考:Vue安装并使用路由和路由器编写路由规则需要对index.js进行修改,根据需求配置需要跳转的那个组件的路由,我的需求已经... 查看详情

vue电商管理系统-项目优化(代码片段)

通过noprogress添加进度条a.打开vueui面板b.添加noprogress运行依赖c.在main.js中导入NProgresss对应的js和cssd.在request拦截器中,显示进度条NProgresss.start()e.在response拦截器中,隐藏进度条NProgresss.done()//导入NProgresss对应的js和cssimportN... 查看详情

vue.js中,如何自己维护路由跳转记录?(代码片段)

在Vue的项目中,如果我们想要做返回、回退操作时,一般会调用router.go(n)这个api,但是实际操作中,使用这个api有风险,就是会让用户跳出当前应用,因为它记录的是浏览器的访问记录,而不是你当前应用的访问记录,这是非常... 查看详情

vue项目上传文件以及进度条

最近做项目的时候,需要上传自定义镜像。并且附带进度条,上网查询一下资料,经过一番折磨,也总算做出来了,把自己写项目的内容给大家分享一下。先直接贴代码吧1.首先声明一个formData对象。2.把需要上传的参数利用append... 查看详情

vue项目实战61添加页面加载进度条效果(代码片段)

...》上一篇我们完成了数据报表的开发,本篇我们学习如何为项目添加加载进度条的效果。一、进度条效果我们要实现的效果就是,当我们点击每一个菜单,加载相应的页面时,在页面顶部中间会有一个加载的蓝色... 查看详情

在vue项目中使用video.js实现视频播放和视频进度条打点(代码片段)

一、用video.js实现视频播放1、安装video.js插件//安装video.js插件npminstallvideo.js-S//如果需要播放rtmp直播流,需安装一下插件npminstallvideojs-flash-S2、在组件代码里使用<template><divdata-vjs-player><videoref="videoNode"class&... 查看详情

如何在html语言中给文字加上超链接

如何在HTML语言中给文字加上超链接要完整的从头到位的代码给个实例谢谢1、首先使用超链接,输入代码“a”。2、接下来需要设置元素a,根据下图中的代码进行输入。3、然后需要设置href值,也就是需要跳转的位置,根据下图... 查看详情

vue电商管理系统-项目优化(代码片段)

...nterceptors.response.use(config=>NProgresss.done()returnconfig)build项目并 查看详情

从零开始vue项目实战-路由(代码片段)

一、理解路由传统的页面应用,是用一些超链接来实现页面切换和跳转的。而vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。路由中有三个基本的概念route,routes,router。    1,route... 查看详情

解决vue单页路由跳转后scrolltop的问题(代码片段)

...现了页面滚动的问题,当一个页面滚动了,点击页面上的路由调到下一个页面时,跳转后的页面也是滚动的,滚动条并不是在页面的顶部 在我们写路由的时候做个处理,如下:importVuefrom‘vue‘importRouterfrom‘vue-router‘Vue.use(Rou... 查看详情

vue之路由以及默认路由跳转(代码片段)

vue之路由以及默认路由跳转之前我们将子组件挂载到根组件的时候都是手动挂载的,而路由就是自动的将子组件挂载到根组件中在这里我们需要用到一个路由插件,就是vue-router,vue-router网址:https://router.vuejs.org/zh/guide/既然要用... 查看详情

vue页面跳转(代码片段)

方法一:1.给元素绑定点击监听@click="goToPage"2.在methods中写路由跳转函数goToPage()this.$router.push(‘/test/index‘);,方法二:给需要页面跳转的button加上router-link<router-linkto="/test/index"><mt-button>button</mt-button& 查看详情