无法导入 Observable.fromEvent - RXJS
Cannot import Observable.fromEvent - RXJS
我正在尝试从输入事件创建一个 Observable。我已经尝试了几乎所有方法,但无法导入 "fromEvent"。这是我的代码。我正在使用 angular 6.0.1 和 RXJS 6.1.0
错误 TS2339:属性 'fromEvent' 在类型 'typeof Observable' 上不存在。
import { Directive, EventEmitter, Input, Output, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import { NgControl } from '@angular/forms';
import { distinctUntilChanged } from 'rxjs/internal/operators/distinctUntilChanged';
import { debounceTime } from 'rxjs/internal/operators/debounceTime';
import { map } from 'rxjs/internal/operators/map';
import { filter } from 'rxjs/internal/operators/filter';
import { Observable } from 'rxjs/internal/Observable';
//import 'rxjs/internal/observable/fromEvent';
//import 'rxjs/add/observable/fromEvent';
@Directive({
selector: '[ngModel][debounceTime]'
})
export class InputDebounceDirective implements AfterViewInit {
@Output()
public onDebounce = new EventEmitter<any>();
@Input('debounceTime')
public debounceTime: number = 1500;
constructor(private elementRef: ElementRef, private currentModel: NgControl) { }
ngAfterViewInit() {
Observable.fromEvent(this.elementRef.nativeElement, 'keyup')
.pipe(
debounceTime(this.debounceTime),
distinctUntilChanged()
)
.subscribe(x => {
this.onDebounce.emit(x);
});
}
}
你必须在 RxJS6 中导入 fromEvent
如下:
import {fromEvent} from 'rxjs';
阅读那里的 migration guide for further information, in particular have a look on the import paths 部分。
当使用fromEvent
时将其作为函数使用如下:
fromEvent(this.elementRef.nativeElement, 'keyup')
不是像下面这样的静态方法(这在以前的 RxJS 版本中是正确的)
Observable.fromEvent(this.elementRef.nativeElement, 'keyup')
我正在尝试从输入事件创建一个 Observable。我已经尝试了几乎所有方法,但无法导入 "fromEvent"。这是我的代码。我正在使用 angular 6.0.1 和 RXJS 6.1.0
错误 TS2339:属性 'fromEvent' 在类型 'typeof Observable' 上不存在。
import { Directive, EventEmitter, Input, Output, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import { NgControl } from '@angular/forms';
import { distinctUntilChanged } from 'rxjs/internal/operators/distinctUntilChanged';
import { debounceTime } from 'rxjs/internal/operators/debounceTime';
import { map } from 'rxjs/internal/operators/map';
import { filter } from 'rxjs/internal/operators/filter';
import { Observable } from 'rxjs/internal/Observable';
//import 'rxjs/internal/observable/fromEvent';
//import 'rxjs/add/observable/fromEvent';
@Directive({
selector: '[ngModel][debounceTime]'
})
export class InputDebounceDirective implements AfterViewInit {
@Output()
public onDebounce = new EventEmitter<any>();
@Input('debounceTime')
public debounceTime: number = 1500;
constructor(private elementRef: ElementRef, private currentModel: NgControl) { }
ngAfterViewInit() {
Observable.fromEvent(this.elementRef.nativeElement, 'keyup')
.pipe(
debounceTime(this.debounceTime),
distinctUntilChanged()
)
.subscribe(x => {
this.onDebounce.emit(x);
});
}
}
你必须在 RxJS6 中导入 fromEvent
如下:
import {fromEvent} from 'rxjs';
阅读那里的 migration guide for further information, in particular have a look on the import paths 部分。
当使用fromEvent
时将其作为函数使用如下:
fromEvent(this.elementRef.nativeElement, 'keyup')
不是像下面这样的静态方法(这在以前的 RxJS 版本中是正确的)
Observable.fromEvent(this.elementRef.nativeElement, 'keyup')