Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2路由,父子-路由组件与视图组件_Angular_Angular2 Routing - Fatal编程技术网

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

Angular2路由,父子-路由组件与视图组件,angular,angular2-routing,Angular,Angular2 Routing,我正在开发一个Angular2应用程序,目前我们正在进行beta-17测试,因为候选版本不再支持捆绑,并且破坏了一切(这是另一回事) 我理解,父路由和子路由之间的关系是,如果子路由想要有路由,则子路由必须是“路由组件”。这是有道理的,对吧——但如果我想有一个父“路由组件”,它有一个子“视图组件”,充当子“路由组件”的父级,该怎么办 我有一个顶级应用程序,它有两条路线,/plan/:id/..和/design/:id/..路线。如您所见,我希望这些组件可以作为其他“路由组件”的父级。假设我们在“设

我正在开发一个Angular2应用程序,目前我们正在进行beta-17测试,因为候选版本不再支持捆绑,并且破坏了一切(这是另一回事)

我理解,父路由和子路由之间的关系是,如果子路由想要有路由,则子路由必须是“路由组件”。这是有道理的,对吧——但如果我想有一个父“路由组件”,它有一个子“视图组件”,充当子“路由组件”的父级,该怎么办

我有一个顶级应用程序,它有两条路线,
/plan/:id/..
/design/:id/..
路线。如您所见,我希望这些组件可以作为其他“路由组件”的父级。假设我们在“设计”路线中,我们尝试导航到
NavAndBodyComponent
中定义的子路线,它不工作,也不会抛出错误

我相信这是因为我有一个父“路由组件”,它有一个子“视图组件”,它有一个嵌套的“路由组件”-我如何在不改变这个层次结构的情况下解决这个问题

视图组件按预期加载:

URL:
localhost:5000/design/10

但当我尝试导航到嵌套的子路由时,URL会更改为

URL:
localhost:5000/型号

我想要(并且期望):

URL:
localhost:5000/design/10/model

更新


这里有一个非常详细的

该问题是由于在根组件以外的组件上添加了
路由器\u提供程序造成的


如何防止每次激活路由时添加动态添加的路由请参见

是否可以创建一个插入器。我发现很难理解你想要完成什么。如果我理解这个问题,那么我想中间组件只有一条路径,路径为
/…
使用默认值:true
,应该可以满足您的需要。@GünterZöchbauer我似乎根本无法让plunker使用beta.17和路由。angular2 beta.17 plunker有什么好的起点吗?只需将链接发布到你拥有的plunker。我会看一看,然后试着让它工作。@GünterZöchbauer这个劫掠者现在正在工作。请检查这是否是您现在想要的
useAsDefault
不受尊重,我必须手动选择“Model”--我如何修复它?实际上我不知道。我自己也没用过这么多。新的路由器也不一样,因此我不想再花太多时间研究旧的路由器了。(新路由器还没有
useAsDefault
)。我不确定是否有办法使
useAsDefault
使用动态配置的路由。也许可以静态添加默认路由?
.
├── 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