You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue Router 3.0.1路径跳转异常问题求助

解决Vue Router 3.x中路由跳转出现嵌套路径的问题

这问题我太熟了!核心原因就是你的router-link用了相对路径而非绝对路径,导致在嵌套路由页面跳转时路径被错误拼接了。

当你处于/message/somemessage页面时,点击不带斜杠开头的signin链接,Vue Router会默认把它当成当前路径的子路径,自然就拼成了/message/signin。

快速解决方案

直接把router-link的to属性改成以斜杠开头的绝对路径:

<router-link to="/signin">Sign In</router-link>

这样无论你在哪个页面,点击后都会直接跳转到根路径下的signin路由,也就是你预期的https://localhost:8080/signin。

更可靠的替代方案(推荐)

使用命名路由来跳转,完全规避路径拼接的问题。先确保你的路由配置里给signin路由设置了name:

// 路由配置示例
const routes = [
  // ...其他路由
  {
    path: '/signin',
    name: 'SignIn', // 给路由命名
    component: () => import('../views/SignIn.vue')
  }
]

然后在router-link里通过name来跳转:

<router-link :to="{ name: 'SignIn' }">Sign In</router-link>

这种方式基于路由名称匹配,不受当前页面路径影响,在复杂项目里能减少很多路径相关的坑。

内容的提问来源于stack exchange,提问作者Nitesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:23:46