ng-model-options |
AngularJS |
---|---|
JavaScript |
Syntaxe
<element ng-model-options="option"></element> |
Paramètres
Nom | Description | |
---|---|---|
element | Ce paramètre permet d'indiquer une balise. | |
option | Ce paramètre permet d'indiquer un objet spécifiant quelles options la liaison de données doit suivre. Les objets légaux sont : | |
Objet | Description | |
{updateOn: 'event'} | Cet objet permet d'indiquer que la liaison doit avoir lieu lorsque l'événement spécifique se produit. | |
{debounce : 1000} | Cet objet permet d'indiquer le nombre de millisecondes à attendre pour la liaison. | |
{allowInvalid : true|false} | Cet objet permet d'indiquer si la liaison peut se produire si la valeur n'a pas été validée. | |
{getterSetter : true|false} | Cet objet permet d'indiquer si les fonctions liées au modèle doivent être traitées comme des get/set. | |
{timezone : '0100'} | Cet objet permet d'indiquer le fuseau horaire à utiliser lors de l'utilisation de l'objet Date. |
Description
Cette directive permet d'indiquer une expression à évaluer quand le contenu est changé par l'utilisateur.
Remarques
- Contrôle de la fréquence de mise à jour du modèle : La directive ng-model-options permet de contrôler la fréquence à laquelle la liaison bidirectionnelle entre la vue et le modèle se produit. Par défaut, AngularJS met à jour le modèle après chaque modification de l'utilisateur, mais en utilisant ng-model-options, il est possible de spécifier quand ces mises à jour doivent être effectuées (par exemple, après un délai ou lorsque l'utilisateur termine une action).
- Optimisation des performances : En configurant ng-model-options, il est possible de réduire la charge du processus de mise à jour du modèle dans des applications complexes. Par exemple, vous pouvez retarder la mise à jour du modèle pendant que l'utilisateur saisit du texte, ce qui peut améliorer les performances de l'application en évitant des mises à jour inutiles et fréquentes du modèle pendant les longues saisies.
- Options de debounce : Une des options les plus utilisées avec ng-model-options est l'option debounce. Cette option permet de définir un délai avant que le modèle ne soit mis à jour, ce qui est particulièrement utile dans les cas où des entrées rapides peuvent entraîner des mises à jour excessives. Par exemple, un champ de recherche pourrait bénéficier d'un délai de debounce pour ne pas effectuer une recherche à chaque caractère tapé.
- Contrôle de la mise à jour uniquement sur la perte de focus : En utilisant ng-model-options, il est également possible de configurer le modèle pour qu'il soit mis à jour uniquement lorsque l'élément de formulaire perd le focus, plutôt qu'à chaque modification de la valeur. Cela est utile dans des cas comme les champs de texte multi-lignes ou les formulaires complexes, où il n'est pas nécessaire de mettre à jour le modèle immédiatement après chaque caractère saisi.
- Amélioration de l'expérience utilisateur avec updateOn : L'option updateOn permet de spécifier sur quel événement la mise à jour du modèle doit se produire. Par exemple, au lieu de mettre à jour le modèle lors de chaque saisie, vous pouvez choisir de le mettre à jour lorsque l'utilisateur appuie sur la touche Enter ou lorsqu'il perd le focus, améliorant ainsi l'interaction de l'utilisateur avec le formulaire.
- Utilisation combinée avec des contrôles complexes : Lorsque vous travaillez avec des formulaires dynamiques ou des contrôles de formulaire complexes, ng-model-options devient particulièrement utile. Par exemple, dans un formulaire où les champs de saisie sont conditionnels, vous pouvez ajuster les mises à jour du modèle en fonction de la visibilité ou de l'état des champs sans affecter la réactivité du reste de l'interface utilisateur.
- Contrôle du comportement de l'édition avec getterSetter : La directive ng-model-options permet également de gérer des propriétés personnalisées du modèle en activant l'option getterSetter. Cela est utile lorsque le modèle utilise des méthodes getter et setter au lieu de simples variables, permettant un contrôle plus fin du comportement de la liaison de données.
- Gestion de la validation des formulaires : En combinant ng-model-options avec des directives de validation comme ng-required ou ng-pattern, vous pouvez avoir un contrôle précis sur quand les validations sont déclenchées. Cela permet d'éviter des erreurs de validation instantanées, offrant à l'utilisateur une expérience plus fluide sans être constamment interrompu par des messages d'erreur.
Dernière mise à jour : Dimanche, le 9 décembre 2018