Vue-具有相同名称的嵌套路线?

时间:2020-10-03 08:11:50

标签: vue.js vue-router

我有两条父路线,每条路线都希望有一条称为“仪表板”的子路线以保持一致性。

{
    path: '/app',
    name: 'App',
    component: () => import('../views/App.vue'),
    children: [
        {
            path: 'dashboard',
            name: 'Dashboard',
            component: () => import('../components/App/Views/Dashboard')
        }, 
    ]
}, {
    path: '/workspace/:id',
    name: 'Workspace',
    component: () => import('../views/Workspace.vue'),
    children: [
        {
            path: 'dashboard',
            name: 'Dashboard',
            component: () => import('../components/Workspace/Views/Dashboard')
        },
    ]
},

Vue不喜欢这样,我也找不到找到使用name而不是路径来指定仪表板的方法。我将DOM中的名称用作标题,以便用户知道当前位置。在主仪表板上的外观在视觉上也不同于工作区仪表板。

我的方法错误吗?我知道我可以在路由中使用元数据标记来创建DisplayName: 'Dashboard'并使用它。只是想检查是否有办法。

1 个答案:

答案 0 :(得分:1)

我相信name 在所有路线上都必须是唯一的,否则将无法使用此命令:router.push({ name: 'Dashboard'})

只需用不同的方式命名您的Dashboard路线...