我正在管理团体及其成员。为此,我创建了两个不同的模块,一个用于组,另一个用于成员。我通过延迟加载为成员加载路由。这是我的groups-routing模块:
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
和GroupFormComponent
中,我使用this.route.params.subscribe(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
中显示一个菜单。
GroupDetailComponent
中获取我的群组ID,我需要使用this.route.snapshot.parent.params
MembersModule
我做错了吗?我刚刚添加了一个"共享"模块只是该组的菜单。
感谢您的帮助