我目前正在开发Angular2的一个应用程序。其中包含3个功能模块,这些模块包含其他子功能模块。 我希望将功能1的子功能模块加载到功能2的子功能模块中,反之亦然。以下是示例代码。
action-routing.module.ts
const routes: Routes = [
{
path: '',
component: ActionComponent,
children: [
{
path: ':id',
loadChildren: 'app/action/action-detail/action-detail.module#ActionDetailModule'
}
]
}
];
action-detail-routing.module.ts
const routes: Routes = [
{
path: '',
component: ActionDetailComponent,
},
{
path: 'topic-detail/:id',
loadChildren: 'app/topic/decision-topic-detail/decision-topic-detail.module#DecisionTopicDetailModule',
}
]
topic-routing.module.ts
const routes: Routes = [
{
path: '',
component: TopicComponent,
children: [
{
path: ':id',
loadChildren: 'app/topic/decision-topic-detail/decision-topic-detail.module#DecisionTopicDetailModule'
}
]
}
];
decision-topic-detail-routing.module.ts
const routes: Routes = [
{
path: '',
component: DecisionTopicDetailComponent,
},
{
path: 'action-detail/:id',
loadChildren: 'app/action/action-detail/action-detail.module#ActionDetailModule'
}
]
这会创建循环依赖,并在编译期间抛出ERROR in Maximum call stack size exceeded错误。
有没有解决此错误的方法。我知道一种方法是加载整个功能模块本身,但那并不可行。
提前感谢。