Angular 4路由到外部插座

时间:2017-09-19 11:48:15

标签: angular angular4-router

我想知道如何从任何组件链接到插座(name="info"),而无需在路由器中为每个组件配置“info”插座

e.g。我有一个侧面信息栏(里面有帮助信息)或者一种购物车,里面列出了所有添加的物品等。

直接在app.component中定义插座,如果我尝试从另一个组件链接到它,那么app本身就不起作用。

<a [routerLink]="[{ outlets: { side:['info']}}]">
SHOW INFO
</a>

<router-outlet name="side"></router-outlet>

路由器设置:

[...,
 { path: 'info', component: SomeInfoComponent, outlet: 'side'},
 { path: 'compa', component: AComponent}
]

最终的结果是:

/anylink/(side:info)

而不是

/anylink(side:info)

编辑:

好的......仍然无法使用“来自”插座的组件:

<a [routerLink]="[{ outlets: { side:['info']}}]"> <!-- direct link -->
SHOW INFO
</a>

<comp-a></comp-a> <!-- static acomp -->

<a routerLink="/compa"> <!-- loaded acomp in std. outlet-->
SHOW COMPA
</a>    

<router-outlet name="side"></router-outlet>
<router-outlet></router-outlet>

在comp-a.html中:

comp-a.html:

<a [routerLink]="[{ outlets: { side:['info']}}]">
SHOW INFO
</a>

无论如何都应该有效吗?

编辑2:

路由器通过标准路由器插座链接到指定的插座。

现在我看到3 SHOW INFO个链接与这些生成的信息链接:

  • 直接链接:(生成链接:/anylink(side:info)) - 好
  • static acomp link :(生成链接:/anylink(side:info)) - 好
  • 路由器插座中的动态访问(生成的链接:/anylink/(side:info)) - bad

在这里你看到了我的问题:

路由器插座内部加载的组件会生成到指定路由器插座的错误链接。

我该如何解决这个问题?

编辑:

......仍未解决的问题

0 个答案:

没有答案