Как отрендерить дочерний маршрут в роутер-выход родительского объекта

Пользовательский интерфейс AngularJS 1.x имеет чрезвычайно гибкую концепцию окон просмотра. Мне они кажутся похожими на названные маршруты, но предлагают гораздо большую гибкость.

Маршруты с viewports не делятся на что-то вроде primary/aux маршрутов. Они просто помещаются в любом месте html с помощью ui-view, и вы можете ссылаться на них по имени окна просмотра из ваших состояний / маршрутов.

Теперь с новым angular 2 router 3 от Виктора Савкина я не могу найти такой гибкости, потому что <router-outlet> напрямую помещается в компонент, поэтому кажется, что он привязан к нему.

Возможно, мой подход слишком похож на ui-router ...

Хотя я знаю об угловом ui-router для ng2, я не хочу его использовать:

Я создал несколько набросков (к сожалению, с опечатками в URL-адресе, но я как-то потерял исходный эскиз ...), чтобы вы лучше понимали, чего я хочу достичь:

Когда я нахожусь в состоянии / url / projects / 1 - это был бы безкомпонентный маршрут с угловым маршрутизатором 3 alpha ... - и нажимаю кнопку открытия проекта, дочерние собрания для этого проекта отображаются в

Я перехожу от одной ошибки к другой, например:

- can not read data annotations of undefined
- can not find primary outled
- can not find any matching route...

Это довольно беспорядок для настройки этого распространенного сценария.

Одна из вещей, которые я пробовал:

  { path: 'projects', component: ProjectsRootComponent, children: [
      { path: '', component: ProjectsListComponent },
      { path: 'create', component: ProjectsCreateComponent },
      { path: ':id', children:[ // componentless route
           { path: 'meetings',  component: MeetingsListComponent},
      ]}
    ]
  },

Я был бы рад любой помощи в этом вопросе, иначе я попробую ui-router, который на первый взгляд предлагает более простую и очевидную концепцию.

введите здесь описание изображения

введите здесь описание изображения


person Elisabeth    schedule 04.07.2016    source источник
comment
Маршрутизатор в RC.4 имеет ограниченную поддержку дополнительных маршрутов. Однако я пока не видел упоминания о добавлении компонентов к <router-outlet> родительским компонентам.   -  person Günter Zöchbauer    schedule 05.07.2016
comment
если эта ситуация не изменится, тогда будет другой маршрутизатор 4: P Хорошо, тогда я попробую Chris ui-router. Кажется, маршрутизатор ngrx: github.com/ngrx/router/blob /master/docs/overview/route.md имеет несколько именованных компонентов, которые, похоже, работают как окна просмотра ui-router и не нуждаются в основном маршрутизаторе-выходе, что является плохим ограничением IMHO.   -  person Elisabeth    schedule 05.07.2016
comment
Кажется, что даже маршрутизатор мертв ... github.com/ ngrx / router / blob / master / docs / overview / migration.md.   -  person Elisabeth    schedule 29.08.2016
comment
Я не знаю, что он мертв, но включенный в Angular routet был смоделирован во многом как ngrx. Нет смысла поддерживать 2 одинаковых роутера.   -  person Günter Zöchbauer    schedule 29.08.2016
comment
Конечно, но ngrx был на рынке задолго до этого. Виктору не нужно показывать свои мускулы ... Я решил использовать reactjs и рад, что ничего не ломается :-)   -  person Elisabeth    schedule 29.08.2016
comment
@Elisabeth хорошо сделала прогноз ... ngrx действительно устарел!   -  person Pascal    schedule 19.09.2016