[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 也会是重定向后的路径。

相关推荐
丁婷婷1 分钟前
Reflect 在 Vue3 响应式中的作用是什么?
vue.js
三十而立洋7 分钟前
彻底搞懂跨域:原理、CORS、解决方案与实战避坑
前端
xiaominlaopodaren7 分钟前
three.js最小地图运行时(十):接入离线逻辑瓦片剖面
javascript·gis·three.js
计算机魔术师9 分钟前
ASR转录总出错?Google新模型WER降到2.6%,还能自动帮你改口误
前端
吃西瓜的年年9 分钟前
vue3原理思维导图
vue.js·笔记·flutter
xcs1940510 分钟前
新版 IDEA(尤其是 2024/2025/2026)越来越臃肿
前端·人工智能·intellij-idea
Patrick_Wilson11 分钟前
iOS 第三方浏览器图片下载失败问题
前端·ios·浏览器
菜鸟小前端在线卖艺16 分钟前
因为找不到好用的前端占位图,于是我自己写了个谁都能用的占位图功能
前端·程序员·产品
Z小明17 分钟前
第 1 章 Vite 项目初始化
前端·vue.js
IT_陈寒19 分钟前
Redis大KEY删除慢到手抖,这几个方法让我少熬一夜
前端·人工智能·后端