我正在尝试以这样的方式定义路由树,使得可以通过树获取任意路径。该应用程序是一个数据库浏览器,您可以在其中从使用列表组件显示的一个表导航到详细信息组件,然后在选择了该详细信息项之后,将为您提供导航属性,使您可以查看相关的内容。表。我们给用户一个起点,但是他们通过数据库的路径可能是相当随机的。到目前为止,我能想到的最好的办法是将路线树定义为代表每个表的要素模块中的常量,然后将导航属性路线作为每个子项的子级导入。这似乎可行,除了在一种情况下...递归路由。在声明之前使用的明显的块作用域变量的递归定义炸弹...有什么办法可以解决?
例,
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,
},
],
},
];