Spec-Zone.ru › Angular 2

EventEmitter

Stable Class

Обзор класса

class EventEmitter extends Subject {
  constructor(isAsync?: boolean)
  
  
  emit(value?: T)
  subscribe(generatorOrNext?: any, error?: any, complete?: any) : any
}

Описание класса

Используется директивами и компонентами для выдачи пользовательских событий.

Примеры

В следующем примере, Zippy поочерёдно генерирует события open и close при нажатии на заголовок:

@Component({
  selector: 'zippy',
  template: `
  <div class="zippy">
    <div (click)="toggle()">Toggle</div>
    <div [hidden]="!visible">
      <ng-content></ng-content>
    </div>
 </div>`})
export class Zippy {
  visible: boolean = true;
  @Output() open: EventEmitter<any> = new EventEmitter();
  @Output() close: EventEmitter<any> = new EventEmitter();

  toggle() {
    this.visible = !this.visible;
    if (this.visible) {
      this.open.emit(null);
    } else {
      this.close.emit(null);
    }
  }
}

Данные события могут быть получены через параметр $event в обработчике события компонента:

<zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>

Использует Rx.Observable, но предоставляет адаптер, чтобы он работал согласно указаниям здесь: https://github.com/jhusain/observable-spec

После появления реализаций спецификации, переключиться на неё.

Конструктор

constructor(isAsync?: boolean)

Создаёт экземпляр [EventEmitter], который в зависимости от [isAsync] доставляет события синхронно или асинхронно.

Подробности класса

emit(value?: T)
subscribe(generatorOrNext?: any, error?: any, complete?: any) : any

экспортировано из @angular/core/index, определено в @angular/core/src/facade/async.ts

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/core/index/EventEmitter-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API