现在从路由器v2迁移到v3(感觉像deja vu)。现在,路由配置再次与组件分离。它推翻了我认为非常明智的逻辑。他们介绍了一个children
物业,RouterConfig
这让我头疼。假设一个应用程序具有许多与此类似的路由
/club/123/member/98/tasklist/921/edit
路由通过以下@Routes装饰器分布在以下组件中
@Routes([{path: '/club/:id', component: DelegateClubComponent}])
export class MainApp {...}
@Routes([{path: 'user/:id', component: DelegateUserComponent}])
export class DelegateClubComponent {...}
@Routes([{path: 'tasklist/:id', component: DelegateTaskListComponent}])
export class DelegateUserComponent {...}
@Routes([{path: 'edit', component: EditTaskListComponent}])
export class DelegateTaskListComponent {...}
每个人都有DelegateXComponents
责任解析各自的文档,并Service
在其他组件中注入该文档。而且,所有DelegateXComponents
渲染的模板都有一个小模板,其中包含他们负责的文档的一些数据。
如何使用路由器v3完成此操作?RouterConfig
以5个等级的嵌套嵌套整个树是没有意义的children
。另一方面,RouterConfig
s的工作完全没有吗?
export const clubRoute: RouterConfig = [
{ path: 'club/:id', component: DelegateClubComponent }];
export const userRoute: RouterConfig = [
{ path: 'user/:id', component: DelegateUserComponent }];
只要幕后没有发生任何魔术,路由器如何知道userRoute
将视为的子路由clubRoute
。
困惑的问候
您可以在与组件相同的文件中定义配置,然后将它们组合成完整的树,然后再将其传递给路由器。
import {childRoutes} from './child.component'
export const clubRoute: RouterConfig = [
{ path: 'club/:id', component: DelegateClubComponent, children: childRoutes }];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句