Параметры маршрута вложенного модуля Angular2+ пустые

Моя иерархия приложений выглядит следующим образом:

  1. приложение (корень)
    • Модули (модуль)
      • Мастер
      • подробность
        • навигационный
        • Создать / Дом (компонент)
        • Поля (модуль)
          • Деталь (компонент)
          • Мастер (компонент)

Модули-routing.module.ts

const routes: Routes = [
 { path: 'modules-detail/:module_name', loadChildren: './module-detail/module-detail.module#ModuleDetailModule' },
 { path: '', component: ModulesMasterComponent }
];

Модули-Detail-routing.module.ts

const routes: Routes = [
{
 path: '',
 component: ModulesNavComponent,
 children: [
    { path: '', component: CreateModuleComponent },
    { path: 'new', component: CreateModuleComponent },
    { path: 'fields', loadChildren: './fields/fields.module#FieldsModule' }
 ]
}
];

поля-routing.module.ts

const routes: Routes = [
{
  path: '',
  component: FieldsMasterComponent
},
{
  path: ':field_id',
  component: FieldDetailComponent
}
];

проблема
Когда я перенаправляю в /modules/testModuleName/fields, я пытаюсь получить доступ к моему параметру module_name, объявленному в файле modules-routing.module (testModuleName). Тем не менее, мои параметры маршрута появляются пустыми, когда я нахожусь в модуле полей. Я могу видеть параметр в компоненте create / home, но не в дочерних модулях. Любая помощь будет оценена!

1 ответ

Решение

Как вы получаете доступ к Param, если вы используете router.params

Затем переключите его на router.parent.params, и он получит идентификатор. Дайте мне знать, если это работает для вас.

Другие вопросы по тегам