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

相关推荐
Din4 分钟前
主动取消的防抖
前端·javascript·typescript
百度地图汽车版15 分钟前
【AI地图 Tech说】第九期:让智能体拥有记忆——打造千人千面的小度想想
前端·后端
臣妾没空20 分钟前
Elpis 全栈框架:从构建到发布的完整实践总结
前端·后端
H5开发新纪元20 分钟前
Nginx 部署 Vue3 项目完整指南
前端·javascript·面试
决斗小饼干21 分钟前
跨语言移植手记:把 TypeScript 的 Codex SDK 请进 .NET 世界
前端·javascript·typescript
小码哥_常23 分钟前
Android Intent.setAction失效报错排查与修复全方案
前端
进击的尘埃24 分钟前
Vitest 浏览器模式:别再用 jsdom 骗自己了
javascript
bluceli26 分钟前
JavaScript模块化深度解析:从CommonJS到ES Modules的演进之路
前端·javascript
前端人类学27 分钟前
前端输入框禁用:disabled、readonly 与.prop (‘disabled‘, true) 完全解析
前端·javascript
优秀稳妥的JiaJi1 小时前
分享一篇后台管理系统的通用skills
前端·vue.js·前端框架