Как перейти к вложенному маршрутизатору с помощью кода - PullRequest
0 голосов
/ 10 сентября 2018

Как мне создать эту ссылку с помощью кода:
«foo» - это имя маршрутизатора, а «bar» - имя компонента.
http://localhost:8000/Home/(foo:bar)

Раньше я делал это в HTML так:

<a [routerLink]="[{outlets: {foo: ['Bar']}}]">Bar</a>

Но я не могу перейти на тот же URL через код:

this._router.navigate([{ outlets: { foo: bar} }], { relativeTo: this._route });

В консоли я получаю это:

NavigationError (id: 3, url: '/ Home (foo: bar)', ошибка: Ошибка: Не может соответствовать ни одному маршруту. Сегмент URL: 'bar')

Этот / между 'Home' и '(foo: bar)' отсутствует: / Home / (foo: bar) '

Обновление на основе комментария:
У меня есть страница «Домой», которая содержит мою панель навигации. Под этой панелью навигации у меня есть «именованный роутер-розетка», который отображает страницы, на которые просматривают пользователи.

1 Ответ

0 голосов
/ 10 сентября 2018

Я должен был сам добавить префикс:

this._router.navigate(['Home', { outlets: { foo: bar} }]);
...