如何在 Angular2 中将 Observables 运算符与 EventEmitter (FormModel.valueChanges) 一起使用
How to use Observables operators with EventEmitter (FormModel.valueChanges) in Angular2
我正在尝试在 EventEmitter(来自 FormModel.valueChanges)上使用一些简单的运算符,但我不知道应该如何完成。
class EventEmitter 扩展自 Subject
export declare class EventEmitter<T> extends Subject<T>
所以我尝试了几件事:
this.patientForm.valueChanges.debounceTime(400)
this.patientForm.valueChanges.source.debounceTime(400)
this.patientForm.valueChanges.asObservable().debounceTime(400)
Observable.create(this.patientForm.valueChanges).debounceTime(400)
在构造函数和 ngOnInit 中尝试过
源始终未定义,并且 class.
中不存在运算符
我有这个导入 import {Observable} from 'rxjs';
可能与那个有关吗?
(我想做的是将表单状态保存在 Redux 存储中,但不想在每次击键时都这样做)
您需要导入运算符
import 'rxjs/add/operator/debounceTime'
或一次全部
import 'rxjs/Rx';
正如 Günter 所说,默认情况下不包含运算符
要导入 Observable
class,只需使用以下命令。在这种情况下,您将拥有 Observable
class:
中的所有运算符
import {Observable} from 'rxjs/Rx';
要仅使用 debounceTime
运算符,您可以使用:
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/debounceTime';
那么debounceTime
运算符的正确使用方法是:
this.patientForm.valueChanges.debounceTime(400).subscribe((val) => {
(...)
});
有关详细信息,请参阅本文:
我正在尝试在 EventEmitter(来自 FormModel.valueChanges)上使用一些简单的运算符,但我不知道应该如何完成。
class EventEmitter 扩展自 Subject
export declare class EventEmitter<T> extends Subject<T>
所以我尝试了几件事:
this.patientForm.valueChanges.debounceTime(400)
this.patientForm.valueChanges.source.debounceTime(400)
this.patientForm.valueChanges.asObservable().debounceTime(400)
Observable.create(this.patientForm.valueChanges).debounceTime(400)
在构造函数和 ngOnInit 中尝试过
源始终未定义,并且 class.
我有这个导入 import {Observable} from 'rxjs';
可能与那个有关吗?
(我想做的是将表单状态保存在 Redux 存储中,但不想在每次击键时都这样做)
您需要导入运算符
import 'rxjs/add/operator/debounceTime'
或一次全部
import 'rxjs/Rx';
正如 Günter 所说,默认情况下不包含运算符
要导入 Observable
class,只需使用以下命令。在这种情况下,您将拥有 Observable
class:
import {Observable} from 'rxjs/Rx';
要仅使用 debounceTime
运算符,您可以使用:
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/debounceTime';
那么debounceTime
运算符的正确使用方法是:
this.patientForm.valueChanges.debounceTime(400).subscribe((val) => {
(...)
});
有关详细信息,请参阅本文: