2017-11-27 6 views
0

私はAngularを新しくしました。AbstractControlのReactive Formsを持っていて、valueChangeを購読して入力フィールドの値を聞きます。サブスクライブされた関数の中で、ある条件の下で入力の値を変更したい。どのようにして、AbstractChartのValueChangesとsetValueをリアクティブフォームで聴くことができますか?

this.abstractControl.valueChanges.subscribe(data => { 
... 
    if(.....) { 
     this.formGroup.patchValue({ 
      name: result 
     )} 
    } 
... 
} 

私もthis.abstractControl.setValue(result) does'nt仕事を使用しようとしました。

値を設定する際にエラーが発生します。

ERROR RangeError: Maximum call stack size exceeded 

値の変化に耳を傾け、condtionに価値のアコードを変更する推奨方法は何ですか?

+0

ポスト完全な最小限の例、plunkrとして、問題を再現します。私の推測では、無限ループを引き起こしています。それぞれの変更によってイベントが放出され、イベントが発生するような変更が発生します。 –

+0

値を静かに設定するか、値はサブスクリプションをトリガし、値を設定します。https://angular.io/api/forms/FormControl#setValueを読みましたか? – jonrsharpe

+0

@jonrsharpeありがとうございます。 emitEvent:falseの問題を解決するのに役立ちます。 – Danaley

答えて

関連する問題