vue路由守卫死循环及路由守卫使用

当前业务要求:
通过判断本地sessionstorge判断当前是否需要登陆页面

问题场景:用户登陆进入页面内部,点击退出登录,清除本地用户信息,页面跳转至登陆页面,使用浏览器的回退可以正常返回至项目内部。需要改成:停留在登陆页面。

解决方式:使用vue的路由守卫

router.beforeEach((to, from, next) => {

  let token = sessionStorage.getItem("currentUser");
  if (token) {
    next();
  } else {
    if (to.path == "/login") {
      next();
    } else {
      next({ path: "/login" });
    }
  }
});

按照正常逻辑处理:获取token,判断token,如果有token正常处理,没有token直接跳转login页面。但是会出现死循环。
出现原因:每次跳转时都会触发全局守卫,但是判断的条件没有变,所以一直循环。

beforeEach传参解释:
to:即将进入的目标
from:当前导航正要离开的路由

可以返回的值:

  1. false:取消当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。
  2. 一个路由地址: 通过一个路由地址跳转到一个不同的地址,就像你调用 router.push() 一样,你可以设置诸如 replace: true 或 name: ‘home’ 之类的配置。当前的导航被中断,然后进行一个新的导航,就和 from 一样。

看到vue-router官网也有说明出现死循环的代码:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/4866.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kettle开发篇-更新-Day38

目录 前言: 一、更新组件介绍 1.1界面 1.2废话介绍 1.3重点解释 二、应用案例 2.1转换效果 2.2转换简介 三、总结 前言: 前面我们通过oracle的索引来处理单表超1亿的数据量表的查询问题,通过针对主键,展示的维度做多套索引…

如何使用码匠连接 GaussDB

目录 在码匠中集成 GaussDB 在码匠中使用 GaussDB 关于码匠 GaussDB 是华为推出的一个高性能、高可靠、高安全的分布式数据库管理系统。它采用多活架构,支持全球数据同步,可实现数据的实时同步和容灾备份,可满足不同业务场景下的数据管理…

《钢琴调律原理及应用》 笔记

【第一章 绪论】第一节 钢琴调律的概念 美国人威廉布雷德怀特于 1917 年发表了世界上第一部关于钢琴调律理论与技术的著作,书名为《钢琴调律与相关技术》 福岛琢郎于1950年发表一部名为《钢琴的构造调律修理》的专著 80年代初,在沈阳音院任教的张琨先生…

蓝桥杯正确的解题姿势

在做算法题的过程中最忌讳的就是上来就一顿乱敲,一开始我就是这样,但随着不断的刷题和老师的指导,总结了自己的刷题方法 示例题目 三角回文数 问题描述 对于正整数 n, 如果存在正整数 k使得 n123...kk(k1)/2 , 则 n 称为三角数。例如, 66066 …

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记一、Abstract二、引言三、相关工作3.1 基于 Box 的实例分割3.2 基于层级的分割四、提出的方法4.1 图像分割中的层级模型4.2 基于 Box 的实例分割在 Bounding Box 内的层级进化输入的数据…

CentOS7+LAMP+DVWA靶机搭建

一、什么是DVWA Damn Vulnerable Web Application (DVWA)(译注:可以直译为:"该死的"不安全Web应用程序),是一个编码差的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助信息安全专业人员在合法的环境中,练习…

【自动化】selenium配置步骤 | 备份本地资源

1、安装jdk 2、设置环境变量 .1、CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar .2、JAVA_HOME C:\Program Files\Java\jdk1.8.0_231 .3、PATH 新增 %JAVA_HOME%\bin 3、安装chrome 版本:85.0.4183.83 4、禁用chrom…

AOP配置管理

AOP配置管理4,AOP配置管理4.1 AOP切入点表达式4.1.1 语法格式4.1.2 通配符4.1.3 书写技巧4.2 AOP通知类型4.2.1 类型介绍4.2.2 环境准备4.2.3 通知类型的使用前置通知后置通知环绕通知基本使用注意事项返回后通知异常后通知通知类型总结知识点1:After知识…

基于SpringBoot+SpringCloud+Vue前后端分离项目实战 --开篇

本文目录前言做项目的三大好处强强联手(天狗组合)专栏作者简介专栏的优势后端规划1. SpringBoot 和 SpringCloud 的选择2. Mybatis 和 MybatisPlus 和 JPA 的选择3. MySQL 和 Mongodb 的选择4. Redis 和 RocketMQ5. 后端规划小总结后端大纲提前掌握的知识点一期SpringBoot二期S…

经典文献阅读之--LOCUS 2.0(LiDAR为中心的多传感器LSLAM)

0. 简介 在20年DARPA地下挑战赛中CoSTAR队伍提出了LOCUS这个深度学习模块,在两年后LOCUS2.0出世,LOCUS 2.0包括一种新的基于法线的广义迭代最近点(GICP)公式,该公式减少了点云对齐的计算时间,一种自适应体…

PowerTCP Sockets for .NET 6.1.5 Crack

PowerTCP Sockets for .NET PowerTCP Sockets for .NET 包含易于使用的 TCP 和 UDP 组件,可帮助您创建 Internet 客户端应用程序,只需几行代码和方便的事件。Ping 组件使用 ICMP、UDP 和 TCP 启用服务器验证,而跟踪组件执行异步跟踪路由以实…

三、数据链路层

(一)纠错与检错1、奇偶校验码(再研究下,原理知道,具体过程无法重现)分为奇校验和偶校验,奇偶校验位在首部或尾部,奇偶校验满信息位奇偶校验位(1)原理&#xf…

多线程 (七) 阻塞队列的使用及其实现

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

科大奥瑞物理实验——交流电桥

实验名称:交流电桥 1. 实验目的: 掌握电桥平衡原理、平衡条件;理解交流电桥构造,熟悉交流电桥平衡方法;分析平衡过程中各桥臂调节顺序,判断最佳平衡点;理解复阻抗概念,电桥平衡时复…

虚拟机centos7配置Hadoop单节点伪分布配置教程

系列文章目录 centos7配置静态网络常见问题归纳_张小鱼༒的博客-CSDN博客 centos7克隆虚拟机完成后的的一些配置介绍_张小鱼༒的博客-CSDN博客 文章目录 目录 系列文章目录 文章目录 前言 一、前期准备 二、Hadoop介绍 2.1、Apache Hadoop 2.2、Cloudera Hadoop 2.3…

基于Vision Transformer的图像去雾算法研究与实现(附源码)

基于Vision Transformer的图像去雾算法研究与实现 0. 服务器性能简单监控 \LOG_USE_CPU_MEMORY\文件夹下的use_memory.py文件可以实时输出CPU使用率以及内存使用率,配合nvidia-smi监控GPU使用率 可以了解服务器性能是否足够;运行时在哪一步使用率突然…

第一个vue-cli项目

第一个vue-cli项目 12.1、什么是vue-cli vue-cli官方提供的一个脚手架,用于快速生成一个vue的项目模板;   预先定义好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个骨架项目,这个估计项目就是脚手架&…

编写一个函数,输入一个日期,计算其距年底的时间

--编写一个函数,输入一个日期,计算其距年底的时间 create or replace function f_end(i_date varchar2) return number is/*声明四个变量,v_end:存放输入的日期的年底日期 v_date:存放经过转化为日期型的输入字符串 v_minus:存放两个日期之差…

Springboot怎么实现WebSocket通信(二)

前言上一篇文章分享了单机模式下,websocket的基本使用方法,但在实际的业务中,通常是不会这样使用的,大部项目都是分布式部署的,一个工程布署了多个服务节点,前端并不直接请求具体服务节点,而是先…

xijs更新指南(v1.2.1)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发.接下来就和大家一起分享一下v1.2.1 版本的更新内容以及后续的更新方向.1. 添加算法模块分类该模块主要由 WangLei802 贡献, 添加内容如下:添加冒泡排序算法及其…