Как сделать внутренний дочерний маршрут, чтобы получить routerLinkActive

У меня есть угловое приложение, которое имеет компонент заголовка. Одна из ссылок в этом заголовке содержит еще 4 компонента, когда. Это означает, что когда я щелкаю по этой ссылке, загружается первый компонент, а маршрут - / steps / step-one (маршрут домашней страницы и других страниц без / steps /... Компонент steps содержит 4 компоненты и навигация с *ngIf.

Я использую routerLinkActive, чтобы показать пользователю активную страницу. Когда пользователь нажимает на ссылку, которая содержит 4 компонента, он может видеть, что он находится на странице шагов, а маршрут в URL-адресе - / steps / step-one. Но на этой странице есть кнопка, которая делает навигацию к / steps / step-two и активная ссылка исчезла.

Что я могу сделать, чтобы решить эту проблему?

приложение-steps.ts

 <app-step-one
      *ngIf="router.url === '/steps/step-one'"
      ngFor="let cantinaData of cantinaDatas"
      [depositData]="cantinaData">
    </app-step-one>

    <app-step-two
      *ngIf="router.url === '/steps/step-two'"
      [ngClass]="{'active': 'router.url === /steps/step-two'}"
      ngFor="let cantinaData of cantinaDatas"
      [depositData]="cantinaData">
    </app-step-two>

    <app-step-three
      *ngIf="router.url === '/steps/step-three'"
      ngFor="let cantinaData of cantinaDatas"
      [depositData]="cantinaData">
    </app-step-three>

    <app-success
    *ngIf="router.url === '/steps/success'"
      ngFor="let cantinaData of cantinaDatas"
      [depositData]="cantinaData">
    </app-success>

1 ответ

Добро пожаловать в переполнение стека!

Попробуйте удалить приведенный выше код и заменить его следующим:

<router-outlet></router-outlet>

Затем отобразите каждый из ваших компонентов в этой розетке маршрутизатора. Затем ваши компоненты становятся маршрутизируемыми, а не дочерними компонентами.

См. Документы для получения дополнительной информации: https://angular.io/guide/router

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