При использовании нескольких выходов маршрутизатора не удается найти маршрут при использовании метода навигации маршрутизатора
В моем 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,...'? Любые идеи будут наиболее ценными