gpt4 book ai didi

angular - 无法导入 Observable.fromEvent - RXJS

转载 作者:太空狗 更新时间:2023-10-29 17:12:31 26 4
gpt4 key购买 nike

我正在尝试从输入事件创建一个 Observable。我已经尝试了几乎所有的方法,但我无法导入“fromEvent”。这是我的代码。我正在使用 Angular 6.0.1 和 RXJS 6.1.0

错误 TS2339:类型“typeof Observable”上不存在属性“fromEvent”。

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欲了解更多信息,请特别查看 import paths那里的部分。

当使用 fromEvent 时,将其作为函数使用,如下所示:

fromEvent(this.elementRef.nativeElement, 'keyup')

不是像下面这样的静态方法(这在以前的 RxJS 版本中是正确的)

Observable.fromEvent(this.elementRef.nativeElement, 'keyup')

关于angular - 无法导入 Observable.fromEvent - RXJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com