Angular 2相对路径来自命名出口

问题描述 投票:3回答:1

经过几天的搜索,我无法确定使命名路由器插座中的组件使用相对路径影响主路由组件的正确方法。

  1. 我读过Routing & Navigation
  2. 我读过RouterLink
  3. 我读过Dreams Do Come True!...
  4. 我搜遍了StackOverflow

路线:

let routes: Routes = [
  { path: '', redirectTo: 'auth/portfolio/home/1', pathMatch: 'full'},
  { 
path: 'auth/:module', 
component: AuthComponent, 
children: [
  { path: 'home/:value', component: HomeComponent},
  { path: 'home2/:value', component: Home2Component},
  { path: 'details', component: DetailComponent, outlet: 'aux'},
  { path: 'details2', component: Detail2Component, outlet: 'aux'}
]
  }
];

这是我的Plunker显示问题。

  1. AuthComponent的链接工作得很好。他们可以像文档中所说的那样更改子组件或命名路由器插座的组件。
  2. 细节或家庭组件正在打击我。通过一些实验,我已经能够获得绝对的工作路径(Home2,Detail2),但它不是我们应用程序的解决方案。
  3. 我知道我可以使用router.navigateByUrl(...),但如果不进行字符串匹配/正则表达式/无论如何仍然不是相对的

问题:使子路由组件影响命名路由插座中的兄弟组件的正确语法是什么,反之亦然?如果可能的话,你能回应一个工作的plunker吗?

更新1:作为一个短期的hackaround,我创建了一个AuthRouterService,它在AuthComponent中为子组件执行路由。 AuthRouterService位于AuthComponent的Providers数组中,因此所有子节点都获得一个服务。我在这里留下这个问题,万一有人找到了正确的语法,否定了这个hackaround的必要性。如果我没有收到回复,我会在大约一周的时间内完成这个hackaround。

请参阅Plunker此处了解AuthRoutingService以及我如何将其用作hackaround。

谢谢

angular2-routing
1个回答
0
投票

作为一个短期的hackaround,我创建了一个AuthRouterService,它在AuthComponent中为子组件执行路由。 AuthRouterService位于AuthComponent的Providers数组中,因此所有子节点都获得一个服务。我在这里留下这个问题,万一有人找到了正确的语法,否定了这个hackaround的必要性。如果我没有收到回复,我会在大约一周的时间内完成这个hackaround。

© www.soinside.com 2019 - 2024. All rights reserved.