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

Nuxt中使用$router.push跳转路径出现多余URL前缀如何解决

Vue Router 路径跳转问题解决方案

问题原因

你当前使用的是相对路径写法:path: "search-page" 没有前导斜杠,Vue Router 会将相对路径拼接在当前激活路由的路径后,所以在 /movies/id 这类深层路径下就会自动加上movies/前缀。

解决方案

方案1:使用绝对路径

只需要在path前加前导斜杠/,声明为根绝对路径即可,无论当前处于哪一层路径,都会从域名根目录开始解析:

this.$router.push({ path: "/search-page", query: { name: { query: `${this.value}` } } });

方案2:使用命名路由(更推荐)

如果你的路由配置中给搜索页路由设置了name属性,参考路由配置如下:

// 路由配置文件
const routes = [
  {
    path: '/search-page',
    name: 'SearchPage', // 给路由自定义命名
    component: SearchPage
  }
]

跳转时直接指定路由名称即可,不需要手动写路径,即使后续修改搜索页的路径也不需要调整跳转代码:

this.$router.push({ name: "SearchPage", query: { name: { query: `${this.value}` } } });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 06:54:03