开发者问题收集

vue-router 路由中的递归 slug

2019-07-03
2334

我正在建立一个包含群组的网站,这些群组可以有子群组,这些子群组可以有子群组等等...

这有可能吗?

当然,使路由路径像: /groups/:slug/:slug 不起作用,因为它包含重复的参数。

我当时考虑的是使用星型模式作为子路由,这个子路由将使用 slug 和子 slug 将用户重定向回父路由,然后下一步操作将是针对子 slug 执行操作(如果存在)。但也许有人对此有更好的解决方案?

const groupRoute = {
    path: `/groups/:slug`,
    name: 'group',
    component: Group,
    children: [
        {
            path: '',
            component: GroupsHome
        },
        {
            path: '/subgroups',
            component: SubGroups
        },
        {
            path: '*',
            beforeEnter(to, from, next) {
                next({
                    name: 'group',
                    params: {
                        slug: to.params.slug,
                        subSlug: to.params.pathMatch
                    }
                })
            }
        },
    ]
}
1个回答

这是一个基本示例:

嵌套对象的嵌套导航具有类似的结构。这里的技巧是对内部路由使用不同的参数名称。

Murwa
2019-07-04