我正在研究Angular2應用程序,目前我們正在測試版本17中,因爲發佈候選版本不再支持捆綁並破壞所有內容(這是另一回事) 。Angular2路由,父子路由組件vs查看組件
我知道父子路線之間的關係預計是孩子必須是「路由組件」,如果它想擁有路由。這是有道理的,對 - 但如果我想擁有一個父「路由組件」,它有一個子節點「視圖組件」,它充當孩子「路由組件」的父節點?
.
├── app.component // Has two child routes, both are "view components"
├── plan.component
└── design.component // View component, route "/design/:id/..."
├── header.component
├── nav-and-body.component // Routing component
└── footer.component
我有了兩條路線,在/plan/:id/...
和/design/:id/...
路線的頂級應用程序。正如你所看到的,我希望這些將作爲其他「路由組件」的父母。想象一下,我們處於「設計」路線中,並且我們試圖導航到NavAndBodyComponent
中定義的子路線,但它不起作用,也不會引發錯誤。
我相信這是由於我有一個父「路由組件」,它有一個孩子「視圖組件」,它有一個嵌套的「路由組件」 - 我如何解決這個問題,而不改變這個層次?
如預期的視圖組件負載:
網址:localhost:5000/design/10
但是,當我試圖導航到嵌套的子路徑的URL改變
網址:localhost:5000/model
我想(和預期):
URL:localhost:5000/design/10/model
更新
這是一個非常詳細的Plunker
!
你可以創建一個Plunker。我覺得很難理解你想要完成什麼。如果我理解了這個問題,那麼我猜想只有一個路徑爲'/ ...'和'useAsDefault:true'的路由器和一個''應該做你想做的事情。 –
@GünterZöchbauer我似乎無法通過beta.17和路由獲得工作。 angular2 beta.17 plunker有什麼好的起點? –
只需發佈鏈接到你有。我會看看並嘗試使其工作。 –