Как ориентироваться на две розетки в глубину?

Я хотел бы сгенерировать URL-адрес:
http://localhost:8000/Home/(fooOutlet:foo/(barOutlet:bar))

У меня есть маршрутизатор-выход с именем «Foo», и он содержит маршрутизатор-выход с именем «Bar».
Как я могу отобразить компонент в Bar?
Я создал приведенные ниже коды, но он не выполняет обманывать:

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

Это дает мне это:

(fooOutlet:foo//barOutlet:bar)

Но мне нужно:

(fooOutlet:foo/(barOutlet:bar))


person Hypenate    schedule 10.09.2018    source источник
comment
Возможный дубликат Показать компонент во вложенном маршрутизаторе   -  person Hypenate    schedule 16.10.2019


Ответы (1)


пытаться

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

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

person Ricardo    schedule 10.09.2018
comment
Я создаю эту демонстрацию, чтобы воспроизвести вашу проблему, и она у меня есть stackblitz.com/edit/demo-deep -routing, я изучу больше об этом - person Ricardo; 10.09.2018
comment
Раньше я переходил на уровень А, а оттуда переходил на уровень Б, но мы хотим перейти туда одним щелчком мыши. - person Hypenate; 10.09.2018
comment
Боюсь, в фреймворке есть ошибка: github.com/angular/angular/issues/ 18928 - person Hypenate; 11.09.2018
comment
попробуйте обходной путь, в ngOnInit() из первого компонента слушайте определенный параметр, если этот параметр приходит, перейдите к следующему компоненту - person Ricardo; 11.09.2018