我正在尝试使用导航栏上的 [routerlink] 导航到同一条路线。因为在角度中,重定向到同一个组件以调用 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 有人能解决这个问题吗?
谢谢