多级路由,无法访问父参数

时间:2018-02-05 17:00:36

标签: angular router-outlet

我正在管理团体及其成员。为此,我创建了两个不同的模块,一个用于组,另一个用于成员。我通过延迟加载为成员加载路由。这是我的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', } ], }, ], } 有了这个版本,一切都按预期工作。

  • 在我的GroupDetailComponentGroupFormComponent中,我使用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
  • 的组件中获取我的组ID

我做错了吗?我刚刚添加了一个"共享"模块只是该组的菜单。

感谢您的帮助

0 个答案:

没有答案