2016-05-13 99 views
0

如何實現嵌套導航?我在之前的路由器上有過這個。Angular 2與新路由器的嵌套導航

{ path: '/admin/...', component: AdminLayoutComponent } 

看來從rc1的角度2不支持這一點。

來自文檔。 https://angular.io/docs/ts/latest/guide/router.html

請注意,該路徑以斜線和三個尾隨句點(/ ...)結尾。

這意味着這是一個不完整的路線(非終點路線)。完成的路線將是父/危機中心/路線和屬於指定組件的子路由器的路線的某種組合。

編輯: 這是我的路線

//AppComponent 
@Routes([ 
    { path: '/admin-login', component: AdminLoginLayoutComponent }, 
    { path: '/admin', component: AdminLayoutComponent }, 
    { path: '/edit', component: EditReportLayoutComponent }, 
    { path: '/', component: WebLayoutComponent }, 
]) 

//WebLayoutComponent 
@Routes([ 
    { path: '/details/:id', component: DetailsComponent }, 
    { path: '/applications', component: ApplicationsComponent }, 
    { path: '/statistics', component: StatisticsComponent }, 
    { path: '/addreport', component: NewReportComponent }, 
    { path: '/register', component: RegisterComponent }, 
    { path: '/account', component: AccountComponent }, 
    { path: '/login', component: LoginComponent }, 
    { path: '/feed', component: AllFeedComponent }, 
    { path: '/', component: MapComponent } 
]) 

編輯:添加plunker http://plnkr.co/edit/4TAd436l91zGX2emsxEF?p=preview

回答

1

最小的例子只是刪除,如果你有孩子,他們的路線並不需要在新的路由器/...。新路由器仍有一些問題,並不是所有功能都可用。一(缺陷是路徑的排列順序是相關的( 將固定設計 ),最具體的(最長)的路線應該是第一位的和更通用的最後一個(好像/,或*

+0

所以這將解決方案{path:'/ admin /',component:AdminLayoutComponent}, –

+0

我得到EXCEPTION:錯誤:Uncaught(在promise中):無法匹配任何路由當前段:'statistics'。可用路由:['/ admin-登錄','/管理','/編輯','/']。沒有孩子的路線是尊重:) –

+0

當做什麼?一個routerLink?它看起來怎樣? –