Я играю с дополнительными маршрутами Angular2, и я ничего не могу понять.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
является diplaying тонкой/contacts
является diplaying тонкой/emails(aux:auxiliary)
является diplaying тонкой при загрузке/contacts(aux:auxiliary)
является diplaying тонкой при загрузке
Когда вспомогательный в URL, это нормально, когда мы добраться до него.
Но тогда, если я нажму на <a [routerLink]="['emails']">Emails</a>
, мой Aux-выход больше не отображается, даже если 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
EDIT:
Вот демон GIF, чтобы продемонстрировать проблему:
Не похоже, что используется 'url', и это жестко закодировано для перехода на' электронные письма'. Кроме того, первоначальный вопрос: «Как мы можем изменить первичный URL-адрес, не меняя вспомогательные маршруты?» (Если нет вспомогательных, просто перейдите к новому URL-адресу, если это необходимо, перейдите в URL + вспомогательный) ». Похоже, вы * * меняете aux-маршрут. – N13