我在 angular2 中有根模块和一个子模块,它们都定义了自己的路由。在子模块中,我将 RouterModule 配置为
RouterModule.forChild(ROUTES)
在 root module(parent) 中,将 RouterModule 配置为
RouterModule.forRoot(ROUTES)
我在子节点和根节点中使用相同的路由名称
在儿童
export const ROUTES: Routes = [
{ path: '', component: HomeComponent }, //outputs I am child
{ path: 'home', component: HomeComponent }
];
在根(父)中
export const ROUTES: Routes = [
{ path: '', component: HomeComponent }, //outputs I am parent
{ path: 'home', component: HomeComponent }
];
我在根模块中导入子模块
import .....
import {AppModule as ChildModule} from 'child-module/src/app/app.module';
@NgModule({
bootstrap: [ AppComponent ],
declarations: [
AppComponent,
HomeComponent
],
imports: [ // import Angular's modules
BrowserModule,
FormsModule,
HttpModule,
ChildModule,
RouterModule.forRoot(ROUTES, { useHash: true, preloadingStrategy: PreloadAllModules })
],
providers: [
]
})
export class AppModule {
}
当我加载我的组件(我的意思是根模块)时,默认路由总是去子模块而不是根模块,即它打印“我是孩子”,正如我所期望的“我是父母”,只有当我加载子路由时加载它,如何将它路由到根(父)模块而不是子模块的默认路由?