Je suis en train d'apprendre Vue avec un cours en ligne et l'instructeur m'a donné un exercice pour faire une entrée de texte avec une valeur par défaut. Je l'ai réalisé en utilisant v-model
mais, l'instructeur a choisi v-bind:value
et je ne comprends pas pourquoi.
Quelqu'un peut-il me donner une explication simple sur la différence entre les deux et quand il est préférable d'utiliser chacun d'eux ?
11 votes
v-model
est principalement utilisé pour la saisie et la soumission de formulaires. Utilisez-le donc lorsque vous avez affaire à différents types de saisie.v-bind
La directive v-bind vous permet de produire une valeur dynamique en saisissant une expression JS qui, dans la plupart des cas, dépend des données du modèle de données. Pensez donc à v-bind comme à une directive que vous devez utiliser lorsque vous voulez traiter des éléments dynamiques.6 votes
Dans certains cas, vous pouvez utiliser chacun d'entre eux. Parfois non, par exemple :
<div v-bind:class="{ active: isActive }"></div>
- vous ne pouvez pas lier l'attribut html en utilisant le modèle, vous devez utiliserv-bind
de la directive. Pour les éléments de formulaire, vous voudrez utiliser la directivev-model
qui "choisit automatiquement la manière correcte de mettre à jour l'élément en fonction du type d'entrée".1 votes
Alexander La phrase "bind HTML attribute" m'a aidé à mieux réfléchir à cette question. Il serait bon de vous voir intervenir sur ce point avec une réponse plus complète sur ce qui se passe réellement avec ces deux constructions.
0 votes
@Alexander Esp dans le cadre de la composante
data
yprops
...