【发布时间】:2017-01-30 06:25:28
【问题描述】:
我正在使用 Angular2 辅助路线,但我无法弄清楚。
假设我们也有一个带有一些联系人的基本邮件应用程序。
基本上,我的 HTML 如下所示:
<div>
<a [routerLink]="['emails']">Emails</a>
<a [routerLink]="['contacts']">Contacts</a>
<a [routerLink]="[{outlets: {aux: ['auxiliary']}}]">Open an auxiliary route</a>
</div>
<router-outlet></router-outlet>
<router-outlet name="aux"></router-outlet>
到目前为止,它几乎很好。
-
/emails显示正常 -
/contacts显示正常 -
/emails(aux:auxiliary)加载时显示良好 -
/contacts(aux:auxiliary)加载时显示良好
辅助在 URL 中时,第一次到达就可以了。
但是,如果我点击 <a [routerLink]="['emails']">Emails</a>,即使 URL 仍然是 http://localhost:4200/emails(aux:auxiliary),我的辅助插座也不再显示。
所以我的问题是,我们如何在不更改辅助路由的情况下更改主 URL? (如果没有辅助,就去新的URL,如果有辅助,就去URL+辅助)。
我试过了:
<a [routerLink]="['emails', {outlets: {aux: ['/']}}]">Emails</a>
<a [routerLink]="['contacts', {outlets: {aux: ['/']}}]">Contacts</a>
还有
<a [routerLink]="['emails', {outlets: {aux: ['./']}}]">Emails</a>
<a [routerLink]="['contacts', {outlets: {aux: ['./']}}]">Contacts</a>
但它也不起作用。
感谢您的帮助!
PS : 如果你想自己尝试,我的测试在 Github 上:
git clone https://github.com/maxime1992/angular2-nrgx-demo.git
git checkout auxiliary-route
npm i
ng serve
只需查看以下网址: http://localhost:4200/emails
编辑:
【问题讨论】:
-
你成功了吗?
标签: angular routes angular-routing