我在订阅时遇到问题,因为它被孩子的阴影遮住了,所以似乎无法正常工作。
该体系结构几乎是这样的:我有一个显示用户列表的表单。此表单包含这样的隐藏组件(UpdateUserComponent
)
<app-update-user (navigation)="navigate($event)" [user]="user" *ngIf="feature === 'update'"></app-update-user>
,将根据用户操作显示。
UpdateUserComponent
仅包含调度UpdateUser
操作的逻辑,如下所示:
<app-form-user [user]="user" [roles]="roles" [canHandleRoles]="canHandleRoles" (fromForm)="fromForm($event)"></app-form-user>
因此它将显示FormUserComponent
,这是更新用户的表单。
在用户成功更新后,我想订阅从Effects派发的NGRX-Action
,并输入以下代码:
constructor(
private actions: ActionsSubject) {
}
this.subscription.add(this.actions.pipe(
filter((action: Action) => action.type === UsersActionTypes.UserUpdated)
).subscribe(action => {
//here do stuff needed when the user has been successfully updated
}));
在UpdateUserComponent
内部,FormUserComponent
的父亲,但是它无法捕获任何动作,同时FormUserComponent
内部的相同代码也能够成功捕获动作。
似乎UpdateUserComponent
被遮盖了,因为它是FormUserComponent
的父亲