❤ Redirected when going from “/login“ to “/“ via a navigation guard错误

news2024/9/24 23:32:46

❤ vue路由遇到 Redirected when going from “/login“ to “/“ via a navigation guard错误

路由版本:“vue-router”: “^3.5.2”,
添加了路由守卫,然后开始报这个错误,
在这里插入图片描述

  • 原因
    就是路由版本导致的

  • 解决办法

// 导航守卫限制路由跳转
router.beforeEach((to, from, next) => { 
	if (to.path === '/login') {
		next()
		var tokenStr = window.sessionStorage.getItem('token')
	}
	if (!tokenStr) {
		next()
	} else {
		next('/login')
	}
})
// router  要跟你引用的路由名称一致

路由版本3.2到3.0的话,应该可以用下面这个办法解决

//获取原型对象上的push函数
const originalPush = VueRouter.prototype.push
//修改原型对象中的push方法
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
// 导航守卫限制路由跳转
router.beforeEach((to, from, next) => {
	if (!to.meta.isPublic && !localStorage.token){
		return next('/login')
	}
	next()
})

  • 完整版
// 防止连续点击多次路由报错
let originPush =  Router.prototype.push;  //备份原push方法
Router.prototype.push = function (location, resolve, reject){
  // return routerPush.call(this, location).catch(err => err)
    if (resolve && reject) {    //如果传了回调函数,直接使用
        originPush.call(this, location, resolve, reject);
    }else {                     //如果没有传回调函数,手动添加
        originPush.call(this, location, ()=>{}, ()=>{}); 
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins插件管理切换国内源地址

一、替换国内插件下载地址 选择系统管理–>插件管理–> Available Plugins 并等待页面完全加载完成、这样做是为了把jenkins官方的插件列表下载到本地、接着修改地址文件、替换为国内插件地址 进入插件文件目录 cd /var/lib/jenkins/updatesdefault.json 为插件源地址…

比较两字符串数组中对应位置元素的大小char.greater()和char.less()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 比较两字符串数组中 对应位置元素的大小 char.greater()和char.less() [太阳]选择题 下列代码最后输出的结果是? import numpy as np x1 np.array([a, bc, D]) print("【显…

go 查询采购单设备事项V3

一、版本说明 本版本在整合上两次的功能基础上,引进ini配置文件的读取事项,快速读取本地配置文件,完成读取设置 第一版:实现了严格匹配模式的查找 https://blog.csdn.net/wtt234/article/details/131979385 第二版:实…

整数转换-C语言/Java

描述 整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。A,B范围在[-2147483648, 2147483647]之间。 示例1: 输入:A 29 (或者0b11101), B 15(或者0b01111) 输出&…

c++数据锁链

题目描述: 创建一个结构体为Node,具有value , next 两个属性; value为整型,用来储存结构体数值; next为Node类型指针,用来指向下一组数据地址; 第1组数据value 5; 第2组数据value …

1400*C. String Equality(greedy)

Example input 4 3 3 abc bcd 4 2 abba azza 2 1 zz aa 6 2 aaabba ddddcc output No Yes No Yes 题意: 字符串a和b,其字母顺序可以任意交换,k个连续的相同字母,可以全部变为大于这个字母的其他字母(bb->cc&…

小程序动态隐藏分享按钮

// 禁用分享 wx.hideShareMenu({menus: [shareAppMessage, shareTimeline] })// 显示分享 wx.showShareMenu({withShareTicket: true,menus: [shareAppMessage, shareTimeline] })//私密消息 wx.updateShareMenu({isPrivateMessage: true, })

Docker容器监控之 CAdvisor+InfluxDB+Granfana

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了。但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能…

Tensorflow预训练模型ckpt与pb两种文件类型的介绍

我们在 Tensorflow无人车使用移动端的SSD(单发多框检测)来识别物体及Graph的认识 熟悉了Graph计算图以及在 Tensorflow2.0中function(是1.0版本的Graph的推荐替代)的相关知识介绍 这个tf.function的用法,了解到控制流与计算图的各自作用,无论使用哪种方…

向量vector与erase()

运行代码: //向量vector与erase() #include"std_lib_facilities.h" //声明Item类 struct Item {string name;int iid;double value;Item():name(" "),iid(0),value(0.0){}Item(string ss,int ii,double vv):name(ss),iid(ii),value(vv){}frien…

数据库原理1——《小猫猫大课堂》数据库原理篇

宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要…

分布式锁中的王者方案 - Redission

文章目录 5.1 分布式锁-redission功能介绍5.2 分布式锁-Redission快速入门5.3 分布式锁-redission可重入锁原理5.4 分布式锁-redission锁重试和WatchDog机制5.5 分布式锁-redission锁的MutiLock原理 5.1 分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题&am…

【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何…

极简每周计划应用程序WeekToDo

什么是 WeekToDo ? WeekToDo 是一款免费的极简每周计划应用程序,专注于隐私。使用待办事项列表和日历安排您的任务和项目。适用于 Windows、Mac、Linux 或在线。 WeekToDo 是一个免费且开源的极简每周计划程序。借助 WeekToDo,您可以以简单直观的方式定…

Matplotlib_绘制柱状图

绘制柱状图 🧩bar方法 bar()是Matplotlib.pyplot库中用于绘制条形图(bar chart)的函数。条形图是一种常见的数据可视化图表,用于显示不同类别之间的比较。 函数签名: matplotlib.pyplot.bar(x, height, width0.8, …

ICMP协议(网际报文控制协议)详解

ICMP协议(网际报文控制协议)详解 ICMP协议的功能ICMP的报文格式常见的ICMP报文差错报文目的站不可达数据报超时 查询报文回送请求或回答 ICMP协议是一个网络层协议。 一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络…

JDBC Some Templates

JDBCTemplate 是Spring对JDBC的封装&#xff0c;使用JDBCTemplate方便实现对数据的操作。 <!-- orm:Object relationship mapping m对象 关系 映射-->引入依赖 <!-- 基于Maven依赖的传递性&#xff0c;导入spring-content依赖即可导入当前所需的所有…

Spring项目启动报错无法访问org.springframework.boot.SpringApplication:6

当springBoot项目启动后报错如下 解决办法如下&#xff1a;将jdk版本调为11,springBoot版本降低为2.7.12。然后clean&#xff0c;再package重新打包。最后重新启动项目

存储论——经济订货批量的R实现

存储论又称库存理论&#xff0c;是运筹学中发展较早的分支。早在 1915 年&#xff0c;哈李斯&#xff08;F.Harris&#xff09;针对银行货币的储备问题进行了详细的研究&#xff0c;建立了一个确定性的存储费用模型&#xff0c;并求得了最佳批量公式。1934 年威尔逊&#xff08…