路由器详细信息:
这是延迟加载的功能模块的路由详细信息。 路线是/ customers
const routes: Routes = [
{ path: '',
component: CustomersComponent,
children: [
{ path: '', component: CustomersListComponent },
{ path: ':id', component: CustomersDetailsComponent,
resolve: {
xxx: CustomerResolve1
}
,children: [
{ path: ':module', component: CustomersModuleDetailsComponent,
resolve: {
xxx: CustomerResolve2
}
}
] }
]
}
];
在2个解析器中,我只是写到我已经到达解析器的控制台。
如果我输入以下网址:
http://localhost:4200/customers/45/invoices
执行2个旋转变压器。
如果我在我的ts中按下执行以下内容的按钮:
this.router.navigate(['customers','100','invoices']);
只执行第一个解析器!
作为我最内部的组件“CustomersModuleDetailsComponent”显示信息 基于url,它没有被刷新,因为该组件的解析器没有被执行。
有什么建议吗? (除了将旋转变压器换成警卫) (以及通过@input或eventEmitter将id从父组件转移到子组件)
由于
答案 0 :(得分:0)
我有同样的问题。似乎Angular Router中存在一个错误。
在修改父路线参数时,不会触发子控制器的解析器。