У меня есть следующий маршрут конфигурации, сгруппированный по модулям:
Вверху:
imports: [
ContentModule,
RouterModule.forRoot([
{ path: 'Home', component: HomeComponent },
{ path: '', component: HomeComponent, pathMatch: 'full' }
])
Следующий модуль (ContentModule):
imports: [
ApplicationsModule,
RouterModule.forChild([
{
path: 'Content', component: ContentComponent, canActivate: [AuthGuardService], children:
[
{ path: 'Apps/List', component: ApplicationListComponent, canActivate: [AuthGuardService], resolve: { applications: ApplicationListResolver } },
{ path: 'Apps/Details/:applicationID', component: ApplicationTabContainerComponent, canActivate: [AuthGuardService] },
{ path: 'Apps/NewApp', component: NewApplication, canActivate: [AuthGuardService] },
{ path: 'Documentation', component: DocComponent },
{ path: '', redirectTo: 'App/List', pathMatch: 'full' },
{ path: '**', redirectTo: 'App/List' }
]
}
])
И последнийmodule (ApplicationsModule):
imports: [
RouterModule.forChild([
{ path: 'info', component: ApplicationDetailComponent, canActivate: [AuthGuardService], resolve: { application: ApplicationDetailResolver } },
{ path: 'CDN', component: FileManager, canActivate: [AuthGuardService], resolve: { fileStorageData: FileManagerResolver } },
{ path: '', redirectTo: 'info', pathMatch: 'full' }
])
Хорошо, если я перехожу к http://localhost:8253/Content/Apps/Details/Web-Site-App/info, я получаю следующую ошибку:
Невозможно сопоставить никакие маршруты.Сегмент URL: «Контент / Приложения / Детали / Portal-Web-Drupal / inf»
Кто-нибудь знает, почему я получаю эту ошибку?
Я структурировал модули на этомпуть, потому что ContentComponent отображается на первом маршрутизаторе-выходе (у него есть панель навигации (то есть статический контент) и ContentComponent).ContentComponent имеет выход-маршрутизатор, который отображает DocumentationComponent или ApplicationListComponent или NewApplicationComponent или ApplicationTabContainerComponent.ApplicationTabContainerComponent имеет выход-маршрутизатор, который может отображать ApplicationDetailComponent или FileManagerComponent.
Возможно, проблема в том, что у меня не может быть более двух уровней выходов-маршрутизаторов, а у меня три:
- grandparent - это выход-маршрутизатор приложения, которое отображает компонент контента
- parent (ContentComponent) - это выход-маршрутизатор, который отображает applicationList или newApplication или applicationTabContainer
- childs, которыеявляются компонентами, которые отображаются внутри маршрутизатора-выхода ApplicationTabContainerComponent.