Не работает несколько маршрутизаторов-розеток с именем-роутером-розеткой.

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

Маршруты:

const routes: Routes = [
{ path: 'products', component: ProductComponent},
{ path: 'products', component: ProductHeaderComponent, outlet: 'header-route' },
{ path: 'products', component: ProductFooterComponent, outlet: 'footer-route' }
];

HTML:

<router-outlet></router-outlet>//Primary Outlet
<router-outlet name="header-route"></router-outlet>
<router-outlet name="footer-route"></router-outlet>

Первичная розетка работает.

Именованные розетки, верхний и нижний колонтитулы не работают.


person Michela Dennis    schedule 30.01.2019    source источник
comment
Можете ли вы показать свой код того, как вы пытаетесь перейти к этим компонентам. Используете ли вы ссылки на маршрутизаторы или делаете это программно в коде компонента?   -  person Narm    schedule 30.01.2019
comment
Я тестирую его, перейдя по URL-адресу браузера. localhost: 4200 / products   -  person Michela Dennis    schedule 30.01.2019
comment
Понятно. Не могли бы вы показать путь, который вы вводите в URL-адрес, чтобы попытаться перейти к этим маршрутам?   -  person Narm    schedule 30.01.2019
comment
О боже, я совершенно упустил из виду, что у вас один и тот же путь к разным компонентам. Это тоже точно не сработает. У вас должен быть уникальный путь к каждому компоненту. У них всех не может быть path: 'products' в качестве своего пути.   -  person Narm    schedule 30.01.2019
comment
Мне нужно немного сбежать. Взгляните на этот пример StackBlitz. Надеюсь, сейчас это поможет, если нет, я вернусь позже. Удачи!   -  person Narm    schedule 30.01.2019
comment
Я пытаюсь иметь другой верхний и нижний колонтитулы в зависимости от маршрута / пути. Делая это так, как вы, сделаете не очень чистый путь URL-адреса и не очень эффективен для меня.   -  person Michela Dennis    schedule 30.01.2019
comment
Именованные выходы маршрутизатора заполняются на основе части маршрута, определенного в скобках (header-route: products). Если вы не хотите, чтобы эти пароли в вашем URL-адресе, вам необходимо использовать другой метод, который не использует именованные выходы маршрутизатора.   -  person DeborahK    schedule 31.01.2019
comment
Если вам нужен другой верхний / нижний колонтитул в зависимости от маршрутизируемого компонента, почему бы не поместить верхний / нижний колонтитул в шаблон маршрутизируемого компонента, а не в основной шаблон?   -  person DeborahK    schedule 31.01.2019


Ответы (1)


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

localhost:4200/loginpage(header-route: products)

Живой пример: Stackblitz

person Md Rafee    schedule 08.09.2019