Обработка успешной отправки действий в компоненте

Это решение выше для меня лучше, но для меня это не сработало, поэтому я сделал это следующим образом:

AssemblyName assemblyName = AssemblyName.GetAssemblyName(HttpContext.Current.Server.MapPath("~\\Bin\\AnotherAssembly.dll"));
string typeAssemblyQualifiedName = string.Join(", ", "MyNamespace.MyType", assemblyName.FullName);

Type myType = Type.GetType(typeAssemblyQualifiedName);

Предварительным условием является что вы знаете путь собрания. В моем случае я знаю это, потому что это сборка, построенная из другого внутреннего проекта и включаемая в папку bin нашего проекта.

В случае, если это важно, я использую Visual Studio 2013, моя целевая .NET - 4.0. Это проект ASP.NET, поэтому я получаю абсолютный путь через HttpContext. Тем не менее, абсолютный путь не является требованием, как кажется из MSDN в AssemblyQualifiedNames

1
задан Brett 16 January 2019 в 04:02
поделиться

1 ответ

Вы можете добавить сервис Action в свой компонент и затем подписаться на него, чтобы прослушивать при отправке действия « CreatePositionSuccess ».

Например, в вашем компоненте:

import { Actions } from '@ngrx/effects';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

export class SampleClass implements OnInit, OnDestroy {
  private unsubscribe$ = new Subject<void>();

  //Injecting the service
  constructor(private actions$: Action){}

  onInit() {
    this.actions$
    .pipe(
      ofType<CreatePositionSuccess>(CREATE_POSITION_SUCCESS),
      // You can add more operator if it is necessary into the observable.
      takeUntil(this.unsubscribe$)
    )
    .subscribe(() => {
      // Here you can execute the reset function
    });
  }

  onDestroy() {
    this.unsubscribe$.next();
    this.unsubscribe$.complete();
  }
}

При этом вы сможете сбросить форму сразу же после вызова успешного действия.

Кстати, субъект «отписаться» используется для автоматической отмены подписки на Observable при уничтожении компонента, чтобы избежать утечек памяти. Вы можете заметить, как я использовал его в методе уничтожения.

0
ответ дан envynoiz 16 January 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: