| Formulaires réactifs | Formulaires basés sur des modèles | |
|---|---|---|
| Configuration (modèle de formulaire) | Plus explicite, créé dans la classe de composant | Moins explicite, créé par des directives |
| Modèle de données | Structuré | Non structuré |
| Prévisibilité | Synchrone | Asynchrone |
| Form validation | Les fonctions | Directives |
| Mutabilité | Immuable | Mutable |
| L'évolutivité | Accès à l'API de bas niveau | Abstraction au-dessus des API |
FormControl suit la valeur et l'état de validation d'un contrôle de formulaire individuel.FormGroup suit les mêmes valeurs et statut pour une collection de contrôles de formulaire.FormArray suit les mêmes valeurs et le même statut pour un tableau de contrôles de formulaire.ControlValueAccessor crée un pont entre les instances FormControl Angular et les éléments natifs du DOM.FormControl.

FormControlDirective) relie ensuite l'instance FormControl existante à un élément de formulaire
spécifique dans la vue à l'aide d'un accessor de valeur (ControlValueAccessor).

NgModel est responsable de la création et de la gestion de l'instance FormControl pour un élément de formulaire donné.
C'est moins explicite, mais vous n'avez plus de contrôle direct sur le modèle de formulaire.
FormControl.
Les mises à jour de la vue vers le modèle et du modèle vers la vue sont synchrones.

input" avec la dernière valeur.FormControl.FormControl émet la nouvelle valeur à travers l'observable valueChanges.valueChanges reçoivent la nouvelle valeur.
favoriteColorControl.setValue(), qui met à jour la valeur du FormControl.FormControl émet la nouvelle valeur à travers l'observable valueChanges.valueChanges reçoivent la nouvelle valeur.
input.input émet un événement "input" avec la valeur Blue.setValue() sur l'instance FormControl.FormControl émet la nouvelle valeur à travers l'observable valueChanges.valueChanges reçoivent la nouvelle valeur.NgModel.viewToModelUpdate() qui émet un événement ngModelChange.favoriteColor, celle-ci est mise à jour avec la valeur émise par l'événement ngModelChange(bleu).
favoriteColor passent du bleu au rouge.favoriteColor est mise à jour dans le composant.ngOnChanges() de cycle de vie est appelé sur l'instance NgModel de directive, car la valeur de l'une de ses entrées a été modifiée.ngOnChanges() met en file d'attente une tâche asynchrone pour définir la valeur de l'interne FormControl.FormControl émet la dernière valeur à travers l'observable valueChanges.valueChanges reçoivent la nouvelle valeur.favoriteColor.favoriteColorControl du composant correspond à la valeur de l'entrée.favoriteColorControl, une instance FormControl pour définir la nouvelle valeur.favoriteColor de la propriété du composant correspond à la valeur de l'entrée.favoriteColor.tick() pour simuler le passage du temps dans la tâche fakeAsync().favoriteColor dans l'occurrence du composant.FormControl renvoie un nouveau modèle de données plutôt
que de mettre à jour le modèle de données existant. Cela vous donne la possibilité de suivre les modifications uniques apportées au modèle de données
via l'observable du contrôle. Cela offre un moyen d'améliorer l'efficacité de la détection des modifications, car elle n'a besoin que de mettre à jour
les modifications uniques. Elle suit également des modèles réactifs s'intégrant avec des opérateurs observables pour transformer les données.
FormControl renvoie toujours une nouvelle valeur lorsque la valeur du contrôle est mise à jour.