2017-03-16 54 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