针对多个路由器插座时的routerLink语法(primary + aux)

时间:2017-03-02 11:23:17

标签: angular angular2-routing

有谁知道链接#1和#2的工作原理,但链接#3不工作?

<a [routerLink]="['/contact']">Contact Solo</a> |
<a [routerLink]="[{ outlets: { aux: 'aside' }}]">Aux Solo</a> |
<a [routerLink]="['/contact', { outlets: { aux: 'aside' }}]">Contact + Aux</a>

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

换句话说:我可以单独激活主路由(链路#1),我可以单独激活辅助路由(链路#2),但我不能同时激活主路由和辅助路由(链接#3)。链接#3仅激活主路由,但在控制台中不会触发错误。

有趣的是,点击链接#1然后链接#2 会生成我想要的内容(主路由和辅助激活),路径为contact(aux:aside),而链接#3的路径为{{ 1}}(注意contact/(aux:aside))。

Plunkr:https://plnkr.co/edit/WqTRjux7muHjalIL3rsL?p=preview

路线声明:

/

我尝试了多种组合和语法无济于事。

1 个答案:

答案 0 :(得分:8)

尝试以下,

 <a [routerLink]="[{ outlets: { primary: 'contact', aux: 'aside' }}]">Contact + Aux</a>

更新Plunker !!

希望这会有所帮助!!