Forme angulaire de Contrôle valueChanges ne fonctionne pas
Je veux obtenir l'un de mes formulaires ("famille") de la valeur en cas de changement par abonnez-vous, mais il semble quelque chose de mal, parce que je n'ai rien sur ma console de log.
import { Component , AfterViewInit } from '@angular/core';
import {FormGroup,FormBuilder} from '@angular/forms';
import {Observable} from 'rxjs/Rx';
@Component({
selector: 'app-root',
template: `<h1>Hello World!</h1>
<form [formGroup]="frm1">
<input type="text" formControlName="name" >
<input type="text" formControlName="family">
</form>
`,
})
export class AppComponent implements AfterViewInit{
frm1 : FormGroup;
constructor( fb:FormBuilder){
this.frm1 = fb.group({
name : [],
family: []
});
}
ngAfterViewInit(){
var search = this.frm1.controls.family;
search.valueChanges.subscribe( x => console.log(x));
}
}
- Pourquoi ne pas utiliser un
change()
gestionnaire d'événement dans votre code HTML du champs de saisie ?
Vous devez vous connecter pour publier un commentaire.
Utilisation
get
méthode sur la variable de formulairefrm1
. Et l'utilisationngOnInit()
au lieu dengAfterViewInit()
ngOnInit()
et d'essayer. Il n'y a pas de raison de le faire dansngAfterViewInit()
AfterViewInit
, puisque vous travaillez sur le modèle des formulaires et vous avez tous la forme de contrôle dans les noms de lieu. Donc idéal serait onInit().