2017-02-21 228 views
2

我有這AppRoutingModule和HomeRoutingModule下面。第一個包含一些路徑並從HomeRoutingModule中導入其餘路徑。 我的問題是如何獲得HomeComponent中的departmentId? 其實我的完整路徑應該是:角2與嵌套狀態路由

  • '域:部門/:DepartmentID的/盈利'
  • '域:部門/:DepartmentID的/ loadFactor'
  • ...

在每個案例我需要只更新我的url中的departmentId。

AppRoutingModule

const routes: Routes = [ 
{ 
    path: 'home', 
    loadChildren: 'app/components/home/home.module#HomeModule', 
    data: { preload: true } 
}, 
{ path: '', redirectTo: 'home/departments/group/profitability', pathMatch: 'full' }, 
{ path: '**', component: PageNotFoundComponent } 
]; 

HomeRoutingModule

const homeRoutes: Routes = [ 
{ 
    path: 'departments', 
    component: HomeComponent, 
    children: [ 
     { path: ':departmentId/fabi', component: FabiComponent }, 
     { path: ':departmentId/loadFactor', component: LoadFactorComponent }, 
     { path: ':departmentId/otp', component: OtpComponent }, 
     { path: ':departmentId/profitability', component: ProfitabilityComponent }, 
     { path: ':departmentId/revenue', component: RevenueComponent }, 
     { path: ':departmentId/yield', component: YieldComponent } 
    ] 
}, 
{ path: '', redirectTo: 'home/departments/group/profitability', pathMatch: 'full' } 
]; 

回答

0

你必須寫這樣的兩個路由文件喜歡。 在AppRoutingModule中,寫下「部門」而不是回家。

const routes: Routes = [ 
{ 
    path: 'departments', 
    loadChildren: 'app/components/home/home.module#HomeModule', 
    data: { preload: true } 
}, 
{ path: '', redirectTo: 'home/departments/group/profitability', pathMatch: 'full' }, 
{ path: '**', component: PageNotFoundComponent } 
]; 

而且在HomeRoutingModule,路徑之後刪除 「部門」 的話:......

const homeRoutes: Routes = [ 
{ 
    path: '', 
    component: HomeComponent, 
    children: [ 
     { path: ':departmentId/fabi', component: FabiComponent }, 
     { path: ':departmentId/loadFactor', component: LoadFactorComponent }, 
     { path: ':departmentId/otp', component: OtpComponent }, 
     { path: ':departmentId/profitability', component: ProfitabilityComponent }, 
     { path: ':departmentId/revenue', component: RevenueComponent }, 
     { path: ':departmentId/yield', component: YieldComponent } 
    ] 
}, 
{ path: '', redirectTo: 'home/departments/group/profitability', pathMatch: 'full' } 
]; 

我希望它會爲你工作。

謝謝