我想知道如何(name="info")
从任何组件链接到出口,而无需将“信息”出口配置为每个组件在路由器中的子级?
例如,我有一个侧面信息列(其中包含帮助信息)或一种列出所有添加项目等的购物车。
出口直接在 app.component 中定义,如果我尝试从另一个组件链接到它,那么应用程序本身就不起作用。
<a [routerLink]="[{ outlets: { side:['info']}}]">
SHOW INFO
</a>
<router-outlet name="side"></router-outlet>
路由器设置:
[...,
{ path: 'info', component: SomeInfoComponent, outlet: 'side'},
{ path: 'compa', component: AComponent}
]
最终得到的 url 是:
/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:
路由器通过标准路由器出口链接到命名出口。
现在我看到SHOW INFO
这些生成的信息链接有 3 个链接:
- 直接链接:(生成的链接:
/anylink(side:info)
)-好 - 静态 acomp 链接:(生成的链接:
/anylink(side:info)
)-good - 路由器出口中的动态acomp(生成的链接:
/anylink/(side:info)
)-bad
在这里你看到我的问题:
在路由器插座中加载的组件会生成指向指定路由器插座的错误链接。
我该如何解决?
编辑:
...仍然未解决的问题