Comment laisser ng-model pas mise à jour immédiatement?
Code:
<input type="text" ng-modal="name" />
{{name}}
Quand je entrer quelque chose dans le input
, la suite {{name}}
va changer immédiatement. Est-il en mesure de configurer uniquement mettre à jour le name
après que j'ai entré tous les caractères et de laisser l'entrée?
Vous devez vous connecter pour publier un commentaire.
Mise à jour
Comme beaucoup l'ont mentionné Angulaire a maintenant une prise en charge intégrée pour cela à l'aide de la
ng-model-options
directive. Voir plus d' ici.Vieille réponse ci-dessous:
Il n'y a aucune option intégrée pour le gn-modèle de changement de comportement, mais vous pouvez écrire une coutume directive de le faire. @Gloopy a écrit une directive comme ça pour une autre question. Vous pouvez regarder le violon ici.
La directive annule l'inscription de la
input
etkeydown
événements qui déclenchent la mise à jour après chaque frappe.Mise à jour:
Mis à jour le violon d'utiliser la dernière version stable AngularJS (1.2.16 comme de l'écriture), au lieu de directement de référencement, le maître de la version sur github.
Également ajouté une priorité explicite de sorte que la directive est exécuté après
ng-model
pour assurer des écouteurs d'événement sont modifiées correctement.C'est au sujet des récents ajouts à AngularJS, pour servir en tant que futur réponse.
Angulaire des versions plus récentes (actuellement en bêta 1.3), AngularJS prend en charge cette option, à l'aide de
ngModelOptions
, commeNgModelOptions docs
Exemple:
Une meilleure option est d'utiliser le ng-modèle-options:
De travail directive de code(ng-1.2RC3):
utilisation:
ng-model-onblur