Я пытаюсь перейти к тому же маршруту, используя [routerlink] на панели навигации. поскольку в angular перенаправление на тот же компонент для вызова ngOnint невозможно, я столкнулся с этой проблемой.
навигация на панели навигации
[routerLink]="['/customer/events']"
код в конструкторе
constructor(
private navbarService: ServicesInterCustomerNavbarService,
private router: Router,
private route: ActivatedRoute
) {
this.route.params.subscribe(params => {
this.selectedEventId = params["id"];
this.getfunction();
});
}
мой ngOnInit, как показано ниже
ngOnInit() {
this.ongoing = [];
this.navbarService.sendCurrentRoute("home");
this.route.firstChild && this.route.firstChild.params.subscribe(params => {
this.selectedEventId = params["id"];
this.getfunction();
});
}
getfunction() {
this.ongoing = [];
this.eventService.getOnging().subscribe(data => {
this.ongoingEvents = data["data"].map(event => new CustomerEvent(event));
if (!this.selectedEventId && this.selectedEventId != 'completed' && this.ongoingEvents.length >0) {
this.redirectToEvent(this.ongoingEvents[0]._id);
}
if(this.ongoingEvents.length <1){
this.redirectToEvent('-1');
}
this.dataLoaded = true;
});
}
eventCreated(event_id: string) {
this.router.navigate(["/customer/events/ongoing", event_id]);
this.newEventWindow = false;
}
redirectToEvent(event_id: string) {
this.router.navigate(["/customer/events/ongoing", event_id]);
}
ссылка на маршрутизатор после первого щелчка по навигации по маршрутизатору выглядит примерно так
/ заказчик / события / текущие / sda3i4un34j3b42
но когда я пытаюсь нажать ту же кнопку навигации, ссылка на маршрутизатор выглядит так, как показано ниже
/ заказчик / события /
проблема здесь не в вызове getfunction () и OnInit. Может ли кто-нибудь понять это?
Спасибо