Я использую Angular 6.1.9 с его модулем маршрутизатора.Мне кажется невозможным маршрутизировать / отображать содержимое названного выхода.
При вызове <a [routerLink]="['', { outlets: { editArea: ['addRootPartner'] } }]">foo</a>
происходит сбой с:
NavigationError (id: 2, url: '/ Overview /work / allPartners (editArea: addRootPartner) ', ошибка: ошибка: невозможно сопоставить никакие маршруты. Сегмент URL:' addRootPartner ')
Структура моего приложения:
app.module
app-routing.module
workspace.module
workspace-routing.module
app-routing :
const rootAppRoutes: Routes = [
{ path: '', redirectTo: 'overview', pathMatch: 'full' },
{ path: 'overview', loadChildren: './overview/workplace/workplace.module#WorkplaceModule' },
{ path: '**', component: PageNotFoundComponent }
];
Перенаправляет на overview
, который загружает модуль workplace
.
маршрутизация на рабочем месте:
const workplaceRoutes: Routes = [
{ path: '', redirectTo: 'work', pathMatch: 'full'},
{ path: 'work', component: WorkplaceComponent, children: [
{ path: 'allPartners', component: RootPartnersComponent },
{ path: 'childPartners', component: ChildPartnersComponent },
{ path: '', redirectTo: 'allPartners', pathMatch: 'full'}
]},
{ path: 'addRootPartner', component: AddRootPartnerComponent, outlet: 'editArea' }
];
Перенаправляет на work
, который отображает WorkplaceComponent
.Затем он идет дальше к потомку allPartners
, который отображает RootPartnersComponent
.
. В коде я использую два <router-outlet>
s.Один находится внутри компонента app
модуля:
<router-outlet></router-outlet>
Второй находится в модуле workplace
, WorkplaceComponent
:
<router-outlet></router-outlet>
<router-outlet name="editArea"></router-outlet>
Что такоене так с этой настройкой?Есть ли техническое ограничение на использование вложенных именованных торговых точек?