2017-03-15 18 views
6

次のコードを実行すると、というイベントが発生する理由は何ですか?'firstName'コントロールが起動しますか?フォームコントロールの起動を有効/無効にするvalueChanges角2フォーム

let form: FormGroup = this.createForm(); 
form.controls['firstName'].enable(); 

form.controls['firstName'].valueChanges(value=>{ 
     //some code 
}); 

は値が(ちょうどステータス)を変更していないとして、私は、valueChangesがここでトリガするだけstatusChangedを期待していません。 何か不足していますか?

答えて

4

基本的に完全なフォームがモデルにマップされているため、コントロールを有効または無効にするたびにフォームモデルのプロパティが変更されます。そしてモデルが変化しているので、valueChangesイベントがトリガーされます。私はそれが正常だと思う。

+7

'this.form.controls [controlKey] .enable({emitEvent:false});'を使用する以外に、回避する方法についていくつかの提案があります。 – Ben

+0

彼らは、この機能のバグがあると言います。https://github.com/angular/angular/issues/12366 – Sleeper9

+1

あなたは命を救っています – pantonis

関連する問題