[Vue]防止路由重复跳转

[Vue]防止路由重复跳转

js 复制代码
// 获取当前路由的原始路径(包括重定向的处理)
const currentPath = this.$route.redirectedFrom || this.$route.path;

// 判断目标路径是否与当前路径相同
if (currentPath !== item.url) {
  this.$router.push({ path: item.url });
} else {
  console.log('目标页面与当前页面相同,不进行跳转');
}
  • this.$route.redirectedFrom

重定向的来源

  • this.$route.path

this.$route.path:这是当前路由的路径(不包括查询参数和哈希)。它表示的是当前页面的实际路径,比如 /strategy/security-policy。当路由发生重定向时,this.$route.path 会反映最终的目标路径(即重定向后的路径)

  • this.$route.fullPath

这是当前路由的完整路径,包含路径、查询参数和哈希。例如,/strategy/security-policy?id=123#section1。如果路由发生了重定向,fullPath 也会是重定向后的路径。

相关推荐
Highcharts.js1 分钟前
赋能金融 SaaS|如何利用 Highcharts 与 Morningstar 数据构建顶级分析仪表盘
前端·金融·echarts·saas·bi·highcharts
啷咯哩咯啷3 分钟前
纯本地运行的私人文档知识库
前端·人工智能·后端
❆VE❆4 分钟前
基于 contenteditable 实现变量插入富文本编辑器
前端·javascript·vue.js
Aliex_git9 分钟前
Nuxt 学习笔记(一)
前端·笔记·学习
烤麻辣烫11 分钟前
json与fastjson
前端·javascript·学习·json
小陈同学呦18 分钟前
JavaScript 深浅拷贝详解
前端·javascript
六bring个六22 分钟前
opencv简单操作(一)
前端·webpack·node.js
小陈同学呦24 分钟前
fetch和axios区别
前端·javascript
森叶43 分钟前
Electron 实战:用 utilityProcess 开子进程,去端口化承载协议处理,并由主进程拦截渲染请求后统一中转
前端·javascript·electron
精益数智工坊1 小时前
红牌作战是什么?红牌作战的实施步骤与核心要点
大数据·运维·前端·人工智能·精益工程