Угловой 6-секундный вложенный дочерний маршрут не работает

#angular #angular-router

#угловой #угловой-маршрутизатор

Вопрос:

Я провожу эксперимент со следующей ссылкой. https://angular.io/guide/router#the-sample-application

Как вы можете видеть, есть несколько этапов для выполнения маршрутизации. Во время прохождения этих этапов я столкнулся с некоторыми ошибками. https://angular.io/guide/router#child-route-configuration На этом шаге я не смог продолжить, потому что второй маршрут не работает.

 const crisisCenterRoutes: Routes = [
  {
    path: 'crisis-center',
    component: CrisisCenterComponent,
    children: [
      {
        path: '',
        component: CrisisListComponent,
        children: [
          {
            path: ':id',
            component: CrisisDetailComponent
          },
          {
            path: '',
            component: CrisisCenterHomeComponent
          }
        ]
      }
    ]
  }
];
  

Второй маршрут прямо сейчас не работает.

https://github.com/Js-Guru321/angular-router-sample Это мой код.

Пожалуйста, помогите мне!

Ответ №1:

добавьте <router-outlet> в crisis-list.html , и все заработало бы) Каждому уровню вложенных маршрутов нужен свой собственный router-outlet тег внутри родительского маршрута

 <ul class="crises">
  <li *ngFor="let crisis of crises$ | async" [routerLink]="['/crisis-center', crisis.id]"
    [class.selected]="crisis.id === selectedId">
      <span class="badge">{{ crisis.id }}</span>{{ crisis.name }}
  </li>
</ul>
<router-outlet></router-outlet>
  

Комментарии:

1. Он работает хорошо. Я думаю, что тег router-outlet должен быть один раз в кризисном центре. Зачем мне ставить router-outlet дважды? В чем причина?

2. причина в вложенных маршрутах, один из которых находится буквально внутри родительского

3. Что это значит? Пожалуйста, расскажите мне больше, объяснив с помощью кода.