我在angular2中有根模塊和子模塊,都有自己定義的路線。 在子模塊正在配置RouterModule作爲Angular2兒童路線
RouterModule.forChild(ROUTES)
在根模塊(父),我配置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 {
}
當我打開我的組件(我的意思是根模塊),默認路由總是要孩子模塊,而不是rootmodule即它的打印「我是孩子」,在我期望「我是父母」的情況下,只有在加載子路徑時才應該加載子路徑,我如何將其路由到根(父)模塊的默認路徑而不是子模塊?
你有沒有考慮過在父路徑中加入延遲加載的子路徑,比如'{path:child,loadChildren:'子模塊的路徑}}?你可以在這裏閱讀更多關於它的信息(https://angular.io/docs/ts/latest/guide/router.html) –
@Madhu Ranjan,問題是孩子(默認)路由默認加載,即使沒有配置我想避免 –
您是否在子模塊中配置了子路由?如果是的話,那麼當你在應用模塊中導入子模塊時,子模塊的路由將被添加.. –