Angular2路由,父子路径组件与视图组件

时间:2016-05-09 14:39:13

标签: angular angular2-routing

我正在开发一个 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

1 个答案:

答案 0 :(得分:1)

问题是由在根组件以外的组件上添加ROUTER_PROVIDERS引起的。

Plunker example

如何防止每次激活路线时添加动态添加的路线,请参阅Angular2: Configuration 'name' conflicts with existing route 'name'