Angular 2'de EventEmitter.next () ve EventEmitter.emit () arasındaki fark


102

Arasındaki fark nedir EventEmitter.emit()ve EventEmitter.next()? Her ikisi de olayı abone olunan dinleyicilere gönderir.

export class MyService {
  @Output() someEvent$: EventEmitter<any> = new EventEmitter();

  someFunc() {
   this.someEvent$.emit({myObj: true});

   this.someEvent$.next({myObj: true});
  }
}

EventEmitter belgelemesi an çok yararlı değildir.

Yanıtlar:



3

En son sürümde (Ng9), kaynak kodu event_emitter.tsaşağıdaki gibidir:

export class EventEmitter<T extends any> extends Subject<T> {
  /**
   * Emits an event containing a given value.
   * @param value The value to emit.
   */
  emit(value?: T) { super.next(value); }
}

EventEmitterebeveyn sınıfından uzanır Subject. Ve beklediğiniz gibi emityöntem çağrısı super.next().

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.