我在访问之前解析用户帐户片段 of my 用户页面 :
应用程序路由.component.ts
{
path: 'users/:id',
component: UserComponent,
resolve: {user: UsersService},
children: [
{path: '', pathMatch: 'full', redirectTo: 'account'},
{path: 'account', component: UserAccountComponent},
{path: 'sites', component: UserSitesComponent}
]
}
用户.service.ts
resolve(route: ActivatedRouteSnapshot, r: RouterStateSnapshot) {
return this.getUser(route.params['id']);
}
用户帐户.component.ts
ngOnInit() {
this.route.parent.data.subscribe(data => {
this.user = data['user'];
// Initialize the form and its validators
this.initForm();
});
}
在用户帐户组件中,我可以保存或重置表单。在这两种情况下,我都想更新组件的用户并重置表单和验证器。理想情况下,它希望再次触发订阅。
知道如何手动触发解析器吗?
(我曾经重新导航到与最后一个片段相同的随机数模路由,但由于我将用户页面分解为父/子路由,因此当最后一个片段更改时,不再调用父级中的解析器)