路由器详细信息:
这是延迟加载的功能模块的路由详细信息。
路线是 /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
}
}
] }
]
}
];
在两个解析器中,我只是向控制台写入我已到达解析器。
如果我输入以下网址:
http://localhost:4200/customers/45/invoices
2 个解析器被执行。
如果我按下一个按钮,在我的 ts 中执行以下操作:
this.router.navigate(['customers','100','invoices']);
仅执行第一个解析器!
因为我最里面的组件“CustomersModuleDetailsComponent”显示信息
根据 url,它不会被刷新,因为该组件的解析器没有被执行。
有什么建议 ?
(除了将解析器更改为守卫之外)
(除了通过 @input 或 eventEmitter 将 id 从父组件传输到子组件之外)
Thanks