在Angular2中,当我打开一个命名的插座时,如何导航到另一条路线并关闭指定的插座?

时间:2016-11-22 15:10:13

标签: angular

我正在使用命名插座来显示侧边栏。工作正常:

<a [routerLink]="['/', {outlets: {sidebar: 'profile'}}]">
    Open sidebar
</a>

我还有一个关闭侧边栏的链接。也可以正常工作:

<a [routerLink]="['/', {outlets: {sidebar: null}}]">
    Close
</a>

这是问题所在。我想要第三个链接,链接到联系人路线并关闭侧边栏。我试过这样做:

<a [routerLink]="['/contacts', {outlets: {sidebar: null}}]">
   Contacts
</a>

但是当我点击第三个链接时没有任何反应。

如何导航到其他路线并同时删除指定的插座?

1 个答案:

答案 0 :(得分:5)

事实证明,当关闭这样的指定出口时,您还必须指定主出口应该是什么。

所以第三个链接应该是这样的:

<a [routerLink]="['/', {outlets: {sidebar: null}, {primary: 'contacts'}}]">
   Contacts
</a>