我的一个延迟加载模块遇到了一个问题,当在子路由之间导航时,父组件被完全破坏和重建。
该系统包括许多延迟加载的模块,其路由定义如下(请原谅命名,我不得不混淆一些东西):
{
path: '',
canActivate: [DefaultLandingGuard],
component: LandingComponent,
pathMatch: 'full',
data: { permissions: [] }
},
{
path: 'main',
loadChildren: './main/main.module#MainModule'
},
{
path: 'secondary',
loadChildren: './secondary/secondary.module#SecondaryModule',
data: { game: GAME.SECONDARY}
},
Run Code Online (Sandbox Code Playgroud)
该问题特别发生在辅助模块中,如下所示:
{
path: 'racing',
data: { permissions: [] },
component: RacingComponent,
children: [
{ path: '', redirectTo: 'TODAY', pathMatch: 'full' },
{
path: ':timePeriod',
component: RacingRegionListComponent
},
{
path: ':timePeriod/:region',
component: RacingRegionListComponent
},
{
path: ':timePeriod/:region/:venue',
component: RacingRegionListComponent
}
]
},
Run Code Online (Sandbox Code Playgroud)
外观RacingComponent如下:
<racing-navigation></racing-navigation>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)
在该 …