Maison > interface Web > js tutoriel > Comment mettre à jour les données parent des composants enfants dans Vue.js à l'aide de v-model ?

Comment mettre à jour les données parent des composants enfants dans Vue.js à l'aide de v-model ?

Linda Hamilton
Libérer: 2024-10-28 21:04:30
original
698 Les gens l'ont consulté

How to Update Parent Data from Child Components in Vue.js Using v-model?

Mise à jour des données parent à partir des composants enfants dans Vue.js

Dans Vue.js, il est important de gérer le flux de données entre les composants parent et enfant efficacement. Cet article traite d'un scénario dans lequel vous souhaitez mettre à jour les données du parent à partir d'un champ de saisie dans un composant enfant.

Problème :

Dans Vue.js 2.0 et supérieur, la liaison bidirectionnelle est obsolète. Lorsque vous utilisez des accessoires pour transmettre des données du parent à l'enfant, la mutation directe des accessoires est déconseillée car elle peut entraîner des avertissements de console.

Solution :

Pour mettre à jour le fichier du parent données, vous pouvez utiliser l'architecture basée sur les événements et les composants personnalisés avec v-model. Le modèle V fournit une syntaxe pour la liaison bidirectionnelle qui utilise des événements pour communiquer entre le parent et l'enfant.

Implémentation :

Créez un composant enfant avec un modèle qui inclut le champ de saisie :

<code class="html"><template id="child">
  <input type="text" v-bind:value="value" v-on:input="updateValue($event.target.value)">
</template></code>
Copier après la connexion

Dans le script du composant enfant, ajoutez un accessoire 'value' et une méthode 'updateValue' qui émet un événement 'input' avec la valeur mise à jour :

<code class="javascript">Vue.component('child', {
  template: '#child',

  props: ['value'],

  methods: {
    updateValue: function (value) {
      this.$emit('input', value);
    }
  }
});</code>
Copier après la connexion

Dans la vue parent, créez une instance Vue avec les données parent et utilisez le composant enfant avec v-model :

<code class="html"><div id="app">
  <p>Parent value: {{ parentValue }}</p>
  <child v-model="parentValue"></child>
</div></code>
Copier après la connexion

Lorsque la valeur du champ de saisie dans le composant enfant change, la 'updateValue' La méthode est appelée et la valeur mise à jour est émise en tant qu'événement « d'entrée ». L'instance parent de Vue reçoit l'événement émis et met à jour sa « parentValue » en conséquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal