Angular 深嵌套延迟加载模块的url匹配不正确
我有一个大型angular 1.x应用程序,我正在将其转换为angular 5(通过完全重写),并且在嵌套的延迟加载功能模块的路由匹配方面存在问题 该应用程序由几个功能模块组成,每个功能模块都有自己的路由模块,从路由角度看,其中几个模块嵌套在3个层次的深处 每个模块的路由配置如下所示,每个配置都使用Router.forChild()包含在各自的功能模块中,路由级别批准除外,它使用outerModule.forRoot() 这为我提供了如下路线:Angular 深嵌套延迟加载模块的url匹配不正确,angular,angular-routing,Angular,Angular Routing,我有一个大型angular 1.x应用程序,我正在将其转换为angular 5(通过完全重写),并且在嵌套的延迟加载功能模块的路由匹配方面存在问题 该应用程序由几个功能模块组成,每个功能模块都有自己的路由模块,从路由角度看,其中几个模块嵌套在3个层次的深处 每个模块的路由配置如下所示,每个配置都使用Router.forChild()包含在各自的功能模块中,路由级别批准除外,它使用outerModule.forRoot() 这为我提供了如下路线: 管理系统/项目 dms/项目/搜索 dms/项目
- 管理系统/项目
- dms/项目/搜索
- dms/项目/:项目ID/通信
- dms/projects/:projectID/correctance/:id
dms/projects
,它会显示dms/projects/:projectd/correlation
(直接转到此路径也会正确显示)
如果我去掉了通讯路由中的respondenceListComponent
路径,那么对于路由dms/projects
,ProjectListComponent将正确显示
如何获得显示和防止路由器掉入导航树上最远叶子的预定路线
const appRoutes: Routes = [
{
path: 'dms',
loadChildren: 'app/dms/dms-core.module#DMSCoreModule'
},
{
path: '',
redirectTo: 'dms',
pathMatch: 'full'
}
];
const dmsRoutes: Routes = [
{
path: '',
component: DMSCoreComponent,
canActivate: [AuthGuard],
children: [
{
path: 'account',
loadChildren: 'app/account/account.module#AccountModule'
},
{
path: 'contacts',
loadChildren: 'app/contacts/contact.module#ContactModule'
},
{
path: 'projects',
loadChildren: 'app/projects/project.module#ProjectModule'
}
]
}
]
const projectRoutes: Routes = [
{
path: '',
component: ProjectComponent,
children: [
{
path: '',
component: ProjectListComponent
},
{
path: ':id/correspondence',
loadChildren: 'app/correspondence/correspondence.module#CorrespondenceModule'
}
]
}
];
export const correspondenceRoutes: Routes = [
{
path: '',
component: CorrespondenceListComponent,
},
{
path: 'search',
component: CorrespondenceSearchComponent
},
{
path: ':id',
component: CorrespondenceDetailComponent
}
]