Ссылки на маршрутизаторы не работают на одной из вкладок - при использовании более одной вкладки

У меня был компонент (индивидуальный) с несколькими пунктами меню, обработанными ссылками маршрутизатора. Теперь мне нужно запустить этот компонент внутри вкладки. так что то что я сделал

app.component.html #   
<app-admin *ngIf="isAdmin"></app-admin>
<app-user *ngIf="!isAdmin"></app-user>

app-admin.component.html #
<tabset>
    <tab heading='User'>
        <app-resource-manager></app-resource-manager>
    </tab>
    <tab heading='Admin'>
        <app-resource-manager></app-resource-manager>
    </tab>
</tabset>

Происходит следующее: при первой загрузке страницы с вкладкой "Пользователь" ссылки маршрутизатора по умолчанию НЕ работают (URL-адрес изменен, а содержимое страницы - нет).

Но при переходе на другую вкладку (Admin - пока я загружаю туда тот же компонент, но мне нужно будет передать в него параметр, чтобы он работал с другим контроллером REST), ссылки на маршрутизаторы работают нормально!

Даже если я снова вернусь на вкладку "Пользователь", ссылки все еще не работают!

Я думал, что есть проблема с использованием одного и того же компонента дважды (на вкладках "Пользователь" и "Администратор"), потому что, когда я удалял вкладку "Администратор", вкладка "Пользователь" работает в одиночку. Но когда я создал новый компонент для администратора (больше не использовал app-resource-manager), он по-прежнему имел такое же поведение!

Кажется, проблема с использованием того же "router-outlet>", которое настраивается в компоненте app-resource-manager.

На данный момент я продублировал мои маршруты с другим выходом:

{ path: 'resources-list', component: ResourcesListComponent, outlet: 'appUser' },
{ path: 'resources-list', component: ResourcesListComponent, outlet: 'appAdmin' },

и дублирование app-resource-component для использования соответствующих маршрутов:

<a class="list-group-item" [routerLink]="[{ outlets: { appUser: ['resources-list'] } }]" routerLinkActive="active">Show Resources</a>

<router-outlet name="appUser"></router-outlet>

Если есть лучшее решение, пожалуйста, дайте мне знать.

С уважением.

0 ответов

Другие вопросы по тегам