Angular 5 Child 路由空路径覆盖根空路径?

Angular 5 Child routing empty path overrides root empty path?

我尝试了以下设置。

根路由:

const routes: Routes = [
    {path: 'home', loadChildren: 'app/home/home.module#HomeModule'},
    {path: 'note', loadChildren: 'app/note/note.module#NoteModule'},
    ...
    {path: '', redirectTo: 'home', pathMatch: 'full'},
    {path: '**', redirectTo: 'home', pathMatch: 'full'}
];

export const Routing: ModuleWithProviders = RouterModule.forRoot(routes);

一个child的路由:

const routes: Routes = [
    {path: '', component: NoteContainerComponent},
    ...
];

export const NoteRouting: ModuleWithProviders = RouterModule.forChild(routes);

所以如果我导航到 localhost:4200 我希望被重定向到 localhost:4200/home 但是没有 url 重定向发生但是注释路由被加载。如果我做类似 localhost:4200/note 的事情,空笔记路由不应该只匹配吗? child 路由中的所有路由仅应在加载 child 的 parent 时应用。

在child条路线上不能有空路径吗?

所以我终于找到了问题所在,我在我的根模块中导入了我想要延迟加载的模块。这导致了这个问题,因为 RouterModule.forChild 是按原样应用的 .forRoot