Два вспомогательных маршрута, управляющих маршрутизацией друг друга - PullRequest
0 голосов
/ 31 октября 2019

Итак, моя схема приложения выглядит следующим образом. Существует первичный выход, разделенный на два вспомогательных выхода - Выход Sidenav и Выход содержимого , которые загружают два разных модуля .

enter image description here

Моя проблема в том, что я не могу понять, как изменить маршрутизацию (используя routerLinks) Выход Sidenav с использованием Выход содержимого и наоборот,Кроме того, я хотел бы манипулировать двумя маршрутами одновременно, что, похоже, не работает с тем, что я пробовал до сих пор.

Я пытался использовать это

<a [routerLink]="['/home', { outlets: { 'sidenav': ['/some/route'], 'content': ['/some/other_route'] } } ]">Navigate</a>

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

Мое дикое предположение, что [routerLink], размещенный внутри Content Outlet, ищет дочерний выход с именем sidenav вместо своих пиров. Но я понятия не имею, как сделать обходной путь.

РЕДАКТИРОВАТЬ: мой файл маршрутизации выглядит примерно так

const routes: Routes = [ { path: 'core', component: CoreComponent, children: [ { path: 'some', outlet: 'sidenav', loadChildren: () => import('...').then( (m) => m.Module ) }, { path: '', redirectTo: 'some', outlet: 'sidenav', pathMatch: 'full' }, { path: 'some_different', outlet: 'content', loadChildren: () => import('...').then( (m) => m.Module ) }, { path: '', redirectTo: 'some_different', outlet: 'content', pathMatch: 'full' } ] }, { path: '', redirectTo: 'core', pathMatch: 'full' } ];

В каждом дочернем модуле есть только обычные маршрутыничего особенного.

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете использовать объект «data» в ваших угловых маршрутах «root или childs», чтобы прочитать некоторую конкретную информацию. Может быть, это поможет вам.

...