首页 > 解决方案 > Angular 6 递归路由定义

问题描述

我试图以这样一种方式定义我的路由树,即可以通过树获取任意路径。该应用程序是一个数据库浏览器,您可以在其中从使用列表组件显示的一个表导航到一个详细信息组件,然后一旦您选择了该详细信息项目,您就会看到导航属性,这些属性将允许您查看相关的表。我们给用户一个起点,但他们通过数据库的路径可能非常随机。到目前为止,我能想到的最好的方法是将路由树定义为表示每个表的特性模块中的常量,然后将导航属性路由作为每个表的子级导入。这似乎可行,除非在一种情况下......递归路线。声明之前使用的明显块范围变量的递归定义炸弹......
例子, const batchRoutes = [ { path: '', component: BatchListComponent, resolve: { data: BatchesResolver }, data: { breadcrumb: 'Batches', }, }, { path: 'new', component: BatchAddComponent, data: { breadcrumb: 'Add a New Batch', }, }, { path: ':batchId', resolve: { item: BatchResolver }, data: { breadcrumb: 'Batches', }, children: [ { path: '', redirectTo: 'edit', pathMatch: 'full' }, { path: 'edit', component: BatchDetailsComponent, resolve: { breadcrumb: BatchBreadcrumbResolver }, }, { path: 'childbatches', children: batchRoutes, }, ], }, ];

标签: angularangular-router

解决方案


推荐阅读