При использовании нескольких выходов маршрутизатора не удается найти маршрут при использовании метода навигации маршрутизатора

В моем app.component.html есть приложение, в котором есть маршрутизатор-розетка, но есть компонент гнезда с именем EventDetailsComponent. Мне бы хотелось иметь еще один маршрутизатор-розетку с двумя дочерними маршрутами.

Просто мне просто нужен компонент ( EventDetailsComponent), который имеет свое собственное представление, а также 2 дочерних представления, на которые можно направить. Когда родительские / дочерние компоненты инициализированы, я по умолчанию переместился к компоненту createSession

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

error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'events/2'

У меня нет этой проблемы при использовании директивы routerLink для кнопки или тега привязки, например: <button [routerLink]="['/events/2', {outlets: {'nav': ['session']}}]"></button>

    export class EventDetailsComponent {


      constructor(private eventService:EventService,
                  private router: Router, private route: ActivateRoute) {
      }


      addSession() {
        this.router.navigate(['/events',2, {outlets: {'nav': ['session']}}]);
      }

    }

eventDetailComponent.html

    <div>
         <router-outlet name="nav"></router-outlet>
     </div>

в Routes.ts загружается в app.module

    export const appRoutes:Routes = [
      { path: 'events', component: EventsListComponent }, 
      { path: 'events/:id', component: EventDetailsComponent, resolve: {event: EventResolver}, children:[
        {path:'event', component: createEvent, outlet:'nav' },
        {path:'session', component: createSession, outlet:'nav' }
      ] }
    ]

Мне бы очень хотелось узнать, как правильно предоставить параметры для router.navigate() при использовании router-outlet. Особенно, почему не указан родительский маршрут '/events, 2,...'? Любые идеи будут наиболее ценными

0 ответов

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