Angular2 роутер в одном компоненте

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

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

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

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

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

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

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

Является ли это возможным?

 rinukkusu22 июн. 2016 г., 13:44
Маршруты Aux еще не работают с новым маршрутизатором.
 Günter Zöchbauer22 июн. 2016 г., 14:03
Есть проблемы с дополнительными маршрутами, но базовая поддержка должна быть включена.
 rinukkusu22 июн. 2016 г., 13:55
Это было возможно в старом роутере, но, поскольку они полностью переписывают роутер, кажется, вам придется подождать.
 Gopard22 июн. 2016 г., 13:36
 Gopard22 июн. 2016 г., 13:56
Спасибо тебе. я буду ждать = (
 rinukkusu22 июн. 2016 г., 11:17
Какую версию Angular-роутера вы используете?
 Gopard22 июн. 2016 г., 13:50
так что, это невозможно? или я должен ждать RC3?

Ответы на вопрос(1)

Вы можете определить маршруты для отображения компонентов в именованных<router-outlet>

Конфигурация маршрута

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

Фирменная розетка

<router-outlet name="aux">

Навигация по вспомогательным маршрутам

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

Кажется, навигация по вспомогательным маршрутам от routerLink еще не поддерживается

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

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

 Arpit Agarwal26 июн. 2016 г., 19:17
Не должен ли он выбрать выход из URL this._router.navigateByUrl ("/ кризис-центр (aux: chat; open = true)"). Для этого использовался маршрутизатор V2. В моем случае, в зависимости от выбора пользователя, я хочу поместить компонент чата в основной или вспомогательный маршрут.
 Arpit Agarwal25 июн. 2016 г., 14:43
Нам нужно добавить имя выхода в путь, а? Это не звучит здорово. Мне нужно разрешить направлять к компоненту в любом доступном маршруте
 Arpit Agarwal26 июн. 2016 г., 06:43
{путь: '/ chat', компонент: ChatCmp, выход: 'aux'}. Почему мы должны указывать здесь выход?
 Günter Zöchbauer26 июн. 2016 г., 08:58
У вас есть особый вариант использования? Маршруты предназначены для настройки маршрутизатора. Как он должен знать, как разместить компоненты, если вы не укажете это. Если вы не укажете розетку, она будет добавлена ​​в розетку по умолчанию.
 Günter Zöchbauer22 июн. 2016 г., 17:05
Смотрите такжеgithub.com/angular/angular/issues/9448 для связанной проблемы и Плункера с примером вспомогательного маршрута.
 Günter Zöchbauer25 июн. 2016 г., 22:12
Я не понимаю, что вы имеете в виду.
 Günter Zöchbauer26 июн. 2016 г., 19:19
На самом деле я не знаю. Я не слишком много экспериментировал с маршрутами Wirg Aux, потому что они еще не полностью функциональны.

Ваш ответ на вопрос