我在尝试创建将keyup事件转换为可观察流时遇到问题.
我正在关注Ng-book版本6.我陷入了一个在您输入时搜索YouTube视频的示例.当搜索返回时,我们将显示视频缩略图结果列表,以及每个视频的说明和链接.
所以为此,我们使用了一个observable.fromEvent:https://github.com/NiLinli/ng-book2-angular-6-r68-code-samples/blob/master/http/src/app/you-tube-search /search-box.component.ts
在RxJS 5中,它提供了一种使用Rx.Observable.fromEvent侦听元素上的事件的方法.
ngOnInit(): void {
// convert the `keyup` event into an observable stream
Observable.fromEvent(this.el.nativeElement, 'keyup')
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
src/app/search-box/search-box.component.ts(42,13)中的错误:错误TS2339:类型'typeof Observable'上不存在属性'fromEvent'.
我RxJS 6 Observable和fromEvent的导入是这样的:
import { Observable, fromEvent } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)
这是我在Angular 6中的RxJs5版本的代码:(它不起作用)
Observable.fromEvent(this.el.nativeElement, 'keyup')
.map((e: any) => e.target.value) // extract the value of the input
.filter((text: string) => text.length > 1) // filter out if empty
.debounceTime(250) // only once every 250ms
.do(() => this.loading.emit(true)) // enable loading
// search, discarding old …Run Code Online (Sandbox Code Playgroud)