Quelle est la différence entre les attributs `value` et` ng-value` dans angularjs
Quelle est la différence entre value
et ng-value
attributs dans angularjs modèles? Si j'utilise ng-if
sur le terrain à l'aide de la valeur de l'attribut qu'il fonctionne correctement, mais si je change l'attribut value
à ng-value
il s'arrête de fonctionner.
example 1 //it works
<input type='radio' ng-model='difficulty' value='hard'/>
<div ng-if="difficulty == 'hard'">
<p>difficulty is hard</p>
</div>
Example 2 //it doesn't work
<input type='radio' ng-model='level' ng-value='hard'/>
<div ng-if= "level == 'hard'" >
<p>level is hard</p>
</div>
source d'informationauteur Sarfraz Ahmad
Vous devez vous connecter pour publier un commentaire.
Selon les docs
ngValue
prend un "angulaire, expression, dont la valeur doit être lié à lavalue
attribut de lainput
élément".Donc, lorsque vous utilisez
ng-value="hard"
il est interprété comme une expression et lavalue
est lié à$scope.hard
(qui est probablementundefined
).ngValue
est utile pour l'évaluation des expressions - il n'a aucun avantage survalue
pour le réglage des valeurs codées en dur. Pourtant, si vous voulez coder en dur une valeur avecngValue
vous devez la mettre dans''
:Mise à JOUR:
En commençant par v1.6,
ngValue
permet également de définir lavalue
propriété de l'élément (en plus de lavalue
attribut). Il ne pourrait pas nuire à votre cas d'utilisation, mais c'est une autre différence est utile de garder à l'esprit.