这是我热切的HomeModule中的路线,该路线位于AppModule下方:
RouterModule.forChild([
{
path: '',
component: HomeComponent,
children: [
{
path: 'welcome',
component: WelcomeComponent
},
{
path: 'data',
loadChildren: '@libs/data#DataModule',
data: {
expectedPermission: environment.routePermissions.data
},
canLoad: [PermissionGuard]
},
// {
// path: 'data-two',
// loadChildren: '@libs/data/src#DataTwoModule',
// data: {
// expectedPermission: environment.routePermissions.dataTwo
// },
// canLoad: [PermissionGuard]
// },
{
path: '**',
redirectTo: '',
pathMatch: 'full'
}
]
}
]),
以下是DataTwoModule中的内容:
const routes: Routes = [
{
path: `maintain/edit/:id`,
component: DataTwoEditComponent
},
{
path: 'list',
component: DataTwoListComoponent
}
];
和在DataModule中:
const routes: Routes = [
{
path: `maintain/edit/:id`,
component: DataEditComponent
},
{
path: 'list',
component: DataListComoponent
}
];
enableTracing向我显示该URL已正确解析,NavigationEnd为BASEURL/home/data/list
,但Angular正在为我呈现DataTwoListComoponent。正如您在HomeComponent中看到的那样,我什至已经注释掉了DataTwoModule的路径。怎么仍然可以提供?只有当我注释掉来自DataTwoModule的路由时,Angular才能为我正确地提供DataModule。
组件正确链接(@libs部分);该应用之前曾在运行;我只是更改了一些路由名称。路由也不会从文件中导出,因此不会混淆。这里发生了什么?除了使用enableTracing之外,我该如何调试?