У меня есть система входа в систему (okta), которая авторизуется с помощью перенаправления, поэтому моему компоненту верхнего уровня требуется розетка маршрутизатора, чтобы он мог правильно обрабатывать перенаправление сервера после того, как я вошел в систему. Он перенаправляет на localhost: 4200 / callback и т. Д.
Я также использую коммерческий шаблон (PrimeNg) со встроенным выходом маршрутизатора, встроенным в его макет.
Итак, когда я не вошел в систему, я хочу использовать одну розетку маршрутизатора, а когда я вошел в систему, я хочу, чтобы она переключилась на другую, но обе они должны действовать так, как если бы они были основной розеткой, когда они активны.
Вот код в тесте "app.component.html", чтобы вы могли видеть, что я делаю. Я использую * ngIf для переключения розетки маршрутизатора.
<div *ngIf="isLoggedIn">
<button (click)="logout()"> Logout </button>
<button routerLink="/protected"> Protected </button>
<router-outlet></router-outlet>
</div>
<div *ngIf="!isLoggedIn">
<button (click)="login()"> Login </button>
<router-outlet></router-outlet>
</div>
Это работает по моде, но розетка маршрутизатора не обновляется с помощью перемещаемых компонентов. URL обновляется, но содержимое не загружается, как будто розетка маршрутизатора «отключена».