我正在管理组及其成员。为此,我创建了两个不同的模块,一个用于组,另一个用于成员。我正在通过延迟加载为成员加载路线。这是我的组路由模块:
const routes: Routes = [
{
path: 'groups',
children: [
{
path: '',
component: GroupListComponent,
},
{
path: ':id',
children: [
{
path: '',
component: GroupDetailComponent,
},
{
path: 'edit',
component: GroupFormComponent
},
{
path: 'members',
loadChildren: 'app/groups/members/members.module#MembersModule',
}
],
},
],
}
使用此版本,一切都按预期工作。
- 在我的
GroupDetailComponent
andGroupFormComponent
中,我得到了我的参数,this.route.params.subscribe(params...
它位于 params['id']。 - 在我的
MemberDetailComponent
(/groups/:id/members/:member_id) 中,我得到了我的参数this.route.snapshot.parent.params
但是,我现在想添加一个选项卡菜单来通过切换选项卡来管理组及其成员,因此我将组路由更新为:
const routes: Routes = [
{
path: 'groups',
children: [
{
path: '',
component: GroupListComponent,
},
{
path: ':id',
component: GroupComponent,
children: [
{
path: '',
redirectTo: 'detail',
pathMatch: 'full',
},
{
path: 'detail',
component: GroupDetailComponent,
},
{
path: 'edit',
component: GroupFormComponent
},
{
path: 'members',
loadChildren: 'app/groups/members/members.module#MembersModule',
}
],
},
],
}
我只是在其中显示一个菜单GroupComponent
。
- 现在要在 my 中获取我的组 id
GroupDetailComponent
,我需要使用this.route.snapshot.parent.params
- 但是我无法从我的组件中获取我的组 ID
MembersModule
难道我做错了什么 ?我刚刚添加了一个“共享”模块,它只是该组的一个菜单。
谢谢你的帮助