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

Мой app.routing.module выглядит следующим образом

{ path: 'dashboard', component: DashboardComponent },
{ path: 'reports', loadChildren: () => import('./reports/reports.module').then(m => m.ReportsModule) 

И маршруты для лениво загруженного модуля следующие

  path: '', component: ReportsComponent, 
  children: [
  { path : 'reports/:d_name' ,component: ReportdetailComponent },

Теперь, как я могу перейти к параметризованному дочернему элементу маршрут лениво загружаемого модуля?

1 Ответ

2 голосов
/ 13 июля 2020

Текущий маршрут, который вы написали: reports/reports/:d_name

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

 path: '', component: ReportsComponent, 
  children: [
  { path : ':d_name' ,component: ReportdetailComponent },

изменить:

{path: '', component: ReportsComponent, 
children: [{ path : ':d_name' ,component: ReportdetailComponent }] }]

когда вы добавляете дочернее свойство к текущему пути, это означает, что роль родительского компонента заключается в обработке маршрутизации с использованием <router-outlet></router-outlet>. В этом случае ReportsComponent нужен маршрутизатор-выход. Это полезно, если вам нужен верхний компонент для каждого дочернего элемента и вы изменяете только часть страницы с помощью дочерних элементов.

 {  path: '', component: ReportsComponent}, 
 { path : ':d_name' ,component: ReportdetailComponent } 

Если вам нужен только основной маршрутизатор вашего приложения, вам следует избегать использования свойства children .

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

...