Подписаться на ActionsSubject на отца компонент не работает - PullRequest
0 голосов
/ 11 марта 2019

У меня проблема с подпиской, которая, кажется, не работает, поскольку она скрыта от детей.

Архитектура примерно такая: у меня есть форма, отображающая списокпользователи.Эта форма содержит скрытый компонент (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, который является формой для обновления пользователя.

Я хотел подписаться на 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

...