Búsqueda de sitios web

angular - Angular2: Detectar cambios en el formulario


En Angular2 4.0 tengo un FormGroup que se ve así:

this.form = this._fb.group({
      a: ['', [Validators.required]],
      b: ['', [Validators.required]],
      c: ['', [Validators.required]],
    });

¿Es posible suscribirse a valueChanged en campos individuales?

No quiero detectar cambios en la entrada c, por lo que el siguiente enfoque no funciona:

this.form.valueChanges.debounceTime(400).subscribe(data => {
     // Do something
    });

Respuesta #1

Puedes agregar suscripciones separadas para FormControl a y b.

this.heroForm.controls["a"].valueChanges.subscribe(data => {
 // Do something
});

this.heroForm.controls["b"].valueChanges.subscribe(data => {
 // Do something
});

Respuesta #2

  
//get form ref  
@ViewChild('myForm') myForm;

//implement afterview init to your class and use
// or you can use same code with ngOnInit

ngAfterViewInit(){
  this.myForm.valueChanges.debounceTime(500).subscribe(data =>            console.log('Form changes', data));
}

Puedes usar este código, también te dará los datos de campo modificados.

Artículos relacionados