2016-06-22 5 views
0

Я пишу приложение Angular2 с маршрутизатором, как/main/item. Приложение имеет множество фильтрующих таблиц/деревьев/combobox. Я хочу, чтобы в/на главной странице открывалось модальное окно загрузки (например, call @component modalFilterWindow) и переключалось содержимое в этом окне, например, на маршрутизатор.Angular2 router в одном компоненте

я могу сделать это, как

<first-filter-content ngIf="currentFilter=='first'"> 
<second-filter-content ngIf="currentFilter=='second'"> 
.... 

, но это можно сделать более красивым

...modal window 
<router-outlet></router-outlet> 

и перейти по содержанию modalFilterWindow маршрутами, то не изменить состояние основного компонента.

Таким образом, один компонент должен иметь собственный маршрутизатор, не влияя на родительский маршрутизатор и компонент.

Возможно ли это?

+0

Какая версия Угловая маршрутизатора вы используете? – rinukkusu

+0

https://angular.io/docs/ts/latest/guide/router.html – Gopard

+0

Дополнительные маршруты пока не работают с новым маршрутизатором. – rinukkusu

ответ

0

Вы можете определить маршруты, чтобы показать компоненты в именованной конфигурации <router-outlet>

Маршрут

{path: '/chat', component: ChatCmp, outlet: 'aux'} 

именованных розетки маршрутизатор

<router-outlet name="aux"> 

Navigate проигрываемых маршруты

this._router.navigateByUrl("/crisis-center(aux:chat;open=true)"); 

Кажется навигации проигрываемых маршруты из routerLink пока не поддерживается

<a [routerLink]="['/team/3(aux:/chat;open=true)']">Test</a> 

Я не пробовал еще

+0

См. также https://github.com/angular/angular/issues/9448 для соответствующей проблемы и Plunker с примером дополнительного маршрута –

+0

Нам также нужно добавить название розетки в пути? Это не здорово. Мне нужно разрешить маршрут к компоненту по любому доступному маршруту –

+0

Я не понимаю, что вы имеете в виду. –

Смежные вопросы