2017-10-26 6 views
1

私はAngular2で反応的なフォーム設定をしています。コンポーネントでは私のような500ミリ秒のデバウンス時間とフォームコントロールの値の変化を購読する:ユーザ入力のための角度デバウンス

myForm.get("myField").valueChanges.debounceTime(500).subscribe(...); 

値がないユーザーが、コードによって変更された場合デバウンス時間をスキップする方法はありますか?または、2つのイベントを分割する方法はありますか?あなたが記載されているdocsemitEvent:falseを、使用することができますが、プログラム的にあなたの値を設定

+0

あなたがこれを使用することができます。https://のstackoverflow .com/a/43123590/2349407では、プログラムによって値が変更されることはありません。 –

答えて

1

、...

emitEventあるtrue場合は、この変更はFormControl上valueChangesイベントが放出されることになります。デフォルトはtrueです。

はそう発射するvalueChangesが発生することはありませんfalseとしてこれを設定するので、あなたは、いくつかの点で値を設定している場合は、次の操作を行うことができます

this.myForm.get('myField').patchValue('my value', {emitEvent:false}) 
関連する問題