В моем коде angular 7 у меня есть следующее в модуле маршрутизации:
{
path: 'campaigns', component: PortalComponent, canActivate: [AuthGuard], children: [
{ path: '', component: CampaignListingComponent },
{ path: 'details/:id', component: CampaignDetailsComponent },
{ path: 'create', component: CreateCampaignComponent }
]
}
В portalComponent, ngOnInit (), у меня есть следующее: -
this.routerSubs = this.activatedRoute.params
.subscribe((params) => {
console.log('router url=', this.router.url);
setTimeout(() => {
this.routingService.setbreadCrumbUrl(this.router.url);
});
});
this.breadCrumbSubs = this.routingService.breadCrumbEmitter
.subscribe((breadcrumb) => {
setTimeout(() => {
this.breadcrumbEvent = breadcrumb;
console.log('breadcrumb event=', this.breadcrumbEvent );
});
});
Когда, this.router.navigate(['/campaigns/create'])
вызывается, я нахожу, что иногда ngOnInit()
portalComponent не вызывается, напрямую вызывается CreateCampaignComponent.Почему это происходит, как согласно модулю маршрутизации, PortalComponent
, а затем CreateCampaignComponent
должен быть вызван ??