2017-03-16 52 views
2

我需要从离子2格式元素创建Observable。从离子2格式输入元素更改事件创建Observable

有一个方便的事件功能,Observable.fromEvent,但我参考了FormBuilder的表单元素,而不是真正的元素。当然,我可以从DOM中抓取,但我认为还有更好的方法。

现状

我宣布使用表单Buidler服务表单元素:

this.myForm = this.fb.group({ 
    elem1: new FormControl('elem1'), 
    elem2: new FormControl('elem2'), 
    elem3: new FormControl('elem3'), 
    elem4: new FormControl('elem3') 
}); 

this.formInputElem1: AbstractControl = this.myForm.get('elem1'); 

通常我会做:

Observable.fromEvent(this.formInputElem, 'ionChange'); 

this.formInputElem但首先Observable.formEvent PARAM应该EventTargetLike和形式ELEM是一个AbstactControl。

我试图将formInputElem1转换为FormControl并检查是否有任何函数返回DOM elem或EventTargetLike而没有运气。

EventTargetLike是“将DOME元素,事件目标,Node.js,EventEmitter,NodeList或HTMLCollection附加到事件处理程序。”

那么,如何从Ionic 2输入表单元素获得可观察值?

回答

2

我刚刚发现,表单元素有valueChanges属性,返回一个可观察:

valueChanges:可观察每次发出一个事件的 控制的值发生变化,在UI或编程。

+1

即将发布! – Everett