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

Vue动态路由报错:路径匹配失败,Firebase导航栏无法显示

问题解决方法

核心问题

报错的根源是路由路径不匹配,具体有两个关键问题:

  • 路径大小写不一致:路由配置的path是全小写的/outrosrelatoriosindividuais/:id,但router-link里用了大写开头的OutrosRelatoriosIndividuais,Vue Router的路径区分大小写,导致无法匹配。
  • 缺少绝对路径前缀:router-link的路径没有以/开头,会被解析为相对当前页面的路径,而非根路径下的目标路由。

修复方案

方案1:直接修正路径格式

调整router-link的:to属性,确保路径和路由配置完全一致(小写+开头斜杠):

<div>
    <table>
        <tr>
            <td v-for="item in filteredDocuments" :key="item.id">
                <nav class="main-nav">
                    <router-link :to="`/outrosrelatoriosindividuais/${item.id}`">
                        {{ item.nome_orgao }}
                    </router-link>
                </nav>
            </td>
        </tr>
    </table>
</div>

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

通过路由的name属性跳转,无需手动拼接路径,从根源避免大小写、格式错误:

<div>
    <table>
        <tr>
            <td v-for="item in filteredDocuments" :key="item.id">
                <nav class="main-nav">
                    <router-link :to="{ name: 'OutrosRelatoriosIndividuais', params: { id: item.id } }">
                        {{ item.nome_orgao }}
                    </router-link>
                </nav>
            </td>
        </tr>
    </table>
</div>

额外修复:路由配置的语法错误

你的路由配置代码里存在一个多余的],需修正为:

{
    path: '/outrosrelatoriosindividuais/:id',
    name: 'OutrosRelatoriosIndividuais',
    component: OutrosRelatoriosIndividuais,
    beforeEnter: requireAuth,
    props: true
}

验证步骤

  1. 确认Firebase返回的filteredDocuments数据正常,能渲染出导航项。
  2. 点击导航项后,检查地址栏路径是否与路由配置一致,确认对应部门的报表页面正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:55:09