Как разделить параметры запроса между родительскими и дочерними маршрутами? - PullRequest
0 голосов
/ 13 марта 2019

Я создаю сайт, где шаблон был разделен на компоненты. Верхний и нижний колонтитулы шаблона находятся в main.component.html файле, а тело вводится с помощью router-outlet .

Единственная часть, которая изменяется при навигации, это тело. Верхний и нижний колонтитулы остаются прежними. Параметр запроса storeid используется для динамического построения тела.

Проблема в том, что мне нужно получить параметр запроса storeid из файла main.component.ts . Я не знаю, как это сделать с моими текущими конфигурациями маршрутов.

Вот конфигурации маршрутов:

const routes: Routes = [
  {
    path: '',
    component: HomeLayoutComponent, // HOME PAGE
    children: [
      { path: 'home', component: HomeComponent },
      { path: '', redirectTo: '/home', pathMatch: 'full' },
    ]
  },
    {
    path: '', // I TRIED ':storeid' here but negative
    component: MainLayoutComponent, // MAIN LAYOUT IS DIVIDED AS DESCRIBED IN QUESTION. THIS IS THE STOREID I HAVE TO FETCH FROM HERE
    children: [
      { path: 'event-details/:storeid', component: EventDetailsComponent }, // SO AS HERE TOO.
      { path: '', redirectTo: '/home', pathMatch: 'full' },
    ]
  },
  { path: 'error-404', component: Error404PageComponent },
  { path: 'error-500', component: Error500PageComponent },
  { path: '**', component: HomeComponent }
];

Спасибо

1 Ответ

0 голосов
/ 13 марта 2019

Если вы хотите передать данные от родительского компонента к дочернему компоненту, вам нужно использовать две вещи: @Input и привязку свойства.

Если вы хотите передать данные от дочернего кродительский компонент, вы можете использовать привязку к событию @Output & EventEmitter

См. URL ниже, поскольку я ответил на связанный вопрос. Angular 6 Обмен данными между родительским и дочерним компонентами с помощью @ Output

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

...