angular - Angular 7 + 路由 + 差异
问题描述
在我的 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
应该被调用?
解决方案
推荐阅读
- c# - 有没有办法在 C# 中配置 Nlog 并写入 Db?
- pytorch - 如何处理叶变量来冻结重量参数
- python - PysimpleGUI Tkinter - Sg.Output 不适用于 HTML 测试运行器
- vue.js - vuetify数据表组为什么会多次显示同一个组?
- keycloak - 您可以要求 Keycloak 发送电子邮件验证电子邮件吗?
- swift - Swift/CoreData:-[:]:发送到实例的无法识别的选择器
- javascript - 使用 fetch 函数会产生速记错误
- python - 最小二乘回归以拟合具有约束中心点的圆
- javascript - has many through - Sequlize association through a association
- elasticsearch - 大索引中单个字段的 Elasticsearch 精确子字符串匹配