Параметры маршрута вложенного модуля Angular2+ пустые
Моя иерархия приложений выглядит следующим образом:
- приложение (корень)
- Модули (модуль)
- Мастер
- подробность
- навигационный
- Создать / Дом (компонент)
- Поля (модуль)
- Деталь (компонент)
- Мастер (компонент)
- Модули (модуль)
Модули-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, и он получит идентификатор. Дайте мне знать, если это работает для вас.