угловая маршрутизация от вспомогательного дочернего маршрута до родительского дает ошибку совпадения - PullRequest
0 голосов
/ 05 ноября 2018

Я добавил второй выход маршрутизатора для «отчетов», и этот выход маршрутизатора находится в компоненте «макет» для отчетов. Все три дочерних маршрута связаны с компонентом «подменю», и моя проблема возникает, когда я возвращаюсь к «стартовому маршруту» (списку назначений), где я получаю

Ошибка: невозможно сопоставить ни один маршрут. Сегмент 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']);
}

1 Ответ

0 голосов
/ 06 ноября 2018

Я решил это, установив routerlink на 'routerLink = "{{translation.link}}" для "root" -child, а затем установив путь для "root" -child (у него есть путь' ' ) к "../reports" и вуаля.

...