Я добавил второй выход маршрутизатора для «отчетов», и этот выход маршрутизатора находится в компоненте «макет» для отчетов. Все три дочерних маршрута связаны с компонентом «подменю», и моя проблема возникает, когда я возвращаюсь к «стартовому маршруту» (списку назначений), где я получаю
Ошибка: невозможно сопоставить ни один маршрут. Сегмент URL: «SE_556354-3353 /% 2Freports»
Ошибка
Как мне вернуться к «root» / parent (assignmentlist)? В основном, как я могу перейти между этими ссылками?
Вот соответствующий код.
app.module
const routes = [
{ path: ':orgNoParam/organizational-unit/:unitIdParam/employments', component: EmployeeComponent },
{
path: ':orgNoParam/reports', component: ReportsComponent, children: [
{ path: '', component: AssignmentListComponent, outlet: 'content' },
{ path: 'managers', component: AssignmentCompactManagersComponent, outlet: 'content' },
{ path: 'employments', component: AssignmentCompactEmployeesComponent, outlet: 'content' }
]
}
];
reportsComponent (он же «макет»)
<div id="assignment">
<assignment-submenu></assignment-submenu>
<div>
<!--angular error messages-->
<error-message *ngIf="errorList?.length" [errorList]="errorList"></error-message>
</div>
<router-outlet name="content"></router-outlet>
Submenu.html (здесь ссылки)
<ul class="sub-menu" *ngIf="tempList && tempList.length">
<li *ngFor="let translation of tempList">
<ng-container *ngIf="translation.link=='reports'">
<a class="new-style" (click)="goToRoot()">{{ translation.name }}</a>
</ng-container>
<ng-container *ngIf="translation.link=='managers' || translation.link=='employments'">
<a class="new-style" [routerLink]="[{ outlets: { content: [translation.link] } }]">{{ translation.name }}</a>
</ng-container>
</li>
Submenu.ts
goToRoot() {
this.router.navigate([this.orgNoParam, '/reports']);
}