簡體   English   中英

Angular 2 中 EventEmitter.next() 和 EventEmitter.emit() 的區別

[英]Difference between EventEmitter.next() and EventEmitter.emit() in Angular 2

EventEmitter.emit()EventEmitter.next()什么EventEmitter.next() 兩者都將事件分派給訂閱的偵聽器。

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

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

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

EventEmitter 的文檔目前不是很有幫助。

在最新的版本(NG9)的源代碼event_emitter.ts去如下:

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); }
}

EventEmitter自父類Subject 並如您所料, emit方法調用super.next()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM