我们有一些延迟加载模块,路由器的配置如下:
{
path: 'parent',
component: Parent,
children: [
{
path: child1,
loadChildren: 'pathToModule1'
}
{
path: child2,
loadChildren: 'pathToModule1'
}
]
}
- child1
{
path: '',
component: Child1
}
- child2
{
path: '',
component: Child2
}
所以,当我在Child1上时,想通过以下方式导航到Child 2:>
this.router.navigate(['../child2'], {relativeTo: this.activatedRoute})
然后我们得到parent / child1 / child2
但是由于添加了惰性加载模块配置而导致空节,我应该使用
] >>this.router.navigate(['../../child2'], {relativeTo: this.activatedRoute})
因为实际上我们有parent / child1 +''
预期的行为
我们得到父母/孩子2有什么办法可以改变这种行为?因为有许多嵌套的延迟加载模块,我们将获得一点点空节,我们将写../../../../../../sibling进入同级路线。
使用指令进行的问题的最小复制
具有延迟加载模块的任何应用程序。只需尝试导航到同级路线即可。
plunker example只需查看成员并尝试使用两个按钮返回]
Angular版本:4.1.3
浏览器:任意
我们有一些延迟加载模块,路由器的配置如下:{path:'parent',component:Parent,children:[{path:child1,loadChildren:'...
解决方案是将relativeLinkResolution
设置为'corrected'
的路由器进行配置。
@NgModule({
imports: [
RouterModule.forRoot(ROUTES, { relativeLinkResolution: 'corrected' })
]
})
class AppModule {}