我正在开发一个 Angular2 应用程序,目前我们还处于测试版-17,因为发布候选版本不再支持捆绑并破坏了所有内容(这是另一个故事) )。
我理解父路线和子路线之间的关系应该是孩子必须是路由组件"如果它想拥有路线。这是有道理的,对 - 但是如果我想拥有一个父母"路由组件",它有一个孩子"查看组件"它充当孩子的父母"路由组件"?
.
├── 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
中定义的子路线,也不会产生错误。
我相信这是因为我有一个父"路由组件",它有一个子"视图组件",它有一个嵌套的"路由组件& #34; - 如何在不更改此层次结构的情况下解决此问题?
视图组件按预期加载:
网址:localhost:5000/design/10
但是当我尝试导航到嵌套的子路径时,URL会变为
网址:localhost:5000/model
我想(并且期望):
网址:localhost:5000/design/10/model
更新
这是一个非常详细的 Plunker
!
答案 0 :(得分:1)
问题是由在根组件以外的组件上添加ROUTER_PROVIDERS
引起的。
如何防止每次激活路线时添加动态添加的路线,请参阅Angular2: Configuration 'name' conflicts with existing route 'name'