我正在使用angular/cli": "~6.1.5
和rxjs": "^6.0.0
当我刚接触Angular 6时,我开始从官方文档中学习
http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html
代码在下面
var clicks = Rx.Observable.fromEvent(document, 'click');
var result = clicks.throttleTime(1000);
result.subscribe(x => console.log(x));
我在角度6中尝试过的上述代码
fromEvent(mybuttonId, 'click')
.subscribe((event) => console.log('clicked'));
但是如果我将.throttleTime(1000)添加到from事件中,则会抛出错误
类型“可观察”的属性“ throttleTime”不存在
'`。
如果我尝试添加Observable.fromEvent,则该方法不存在
我已将Rx js导入为
import {Observable, fromEvent, from, of} from 'rxjs';
import {throttleTime} from 'rxjs/operators';
任何人都可以帮助我在哪里找到最新版本的确切文档。
谢谢
答案 0 :(得分:6)
它可以像这样通过管道传递到Observable:
import { fromEvent } from 'rxjs';
import { throttleTime } from 'rxjs/operators';
subscription = fromEvent(document, 'click')
.pipe(throttleTime(1000))
.subscribe(x => console.log(x));
您可以在以下官方文档中找到它:
还要确保从unsubscribe
中subscription
,以避免任何内存泄漏。通常,这是在ngOnDestroy
答案 1 :(得分:0)
感谢Siddharth Ajmera提供了使用烟斗的线索。 在最新版本的rx js中,我们可以执行以下操作
fromEvent(this.hoverSection, 'click')
.pipe(throttleTime(1000))
.subscribe((event) => console.log('clicked'));