Мне интересно, как вы получаете Наблюдаемое событие в Angular 2?Как вы получаете Наблюдаемое событие?
Например, я хочу подписаться на событие click, но только после двух щелчков мыши? Можно ли получить объекты событий MouseClick
?
Скажем, если я хотел фильтровать button
или ctrlKey
- или Наблюдаемые из KeyboardEvent
и фильтра, key
\ keyCode
- Или любой возможный сценарий будущего
Я прочитал http://blog.thoughtram.io/angular/2016/01/06/taking-advantage-of-observables-in-angular2.html но valueChanges
свойство Observable<string>
Я также видел на https://github.com/angular/angular/issues/5489, что можно сделать что-то вроде:
this.clickStream = new Subject();
...
<button (click)="clickStream.next($event)">Click Me</button>
Правильно ли это метод Subject
? Я не уверен.
У меня нет большого опыта работы с угловыми 2 или RxJS, но Меня интересует как и я их исследования с идеей их использования в будущих проектах
Редактировать
Вот мой Plunker с простым кликом для использования http://plnkr.co/edit/u1A7ve2fAYigjwaZ0x1v?p=preview
Спасибо, что помогает! Два щелчка - это пример, который коллега спросил меня о том, как изменить логику. Мне было действительно интересно узнать, можно ли получить объекты Observable of MouseClick, скажем, если я хочу фильтровать 'button' или' ctrlKey' - или Observable of KeyboardEvent' и фильтровать 'key' \' keyCode' –
Я также просто видел ИСПОЛЬЗОВАНИЕ С ПРЕДОСТЕРЕЖЕНИЕМ в Angular 2 API ref для 'ElementRef' https://angular.io/docs/ts/latest/api/core/index/ElementRef-class.html –
Пример фильтрации (левый указатель мыши только): Observable.fromEvent (this.elementRef.nativeElement, 'mousedown'). filter ((md: MouseEvent) => md.which == 1) Что касается предупреждения, вы правы, но все же, он работает :-) – Meir