Maison > interface Web > Voir.js > Méthode d'implémentation de la fonction de liaison de données bidirectionnelle du composant parent-enfant dans le document Vue

Méthode d'implémentation de la fonction de liaison de données bidirectionnelle du composant parent-enfant dans le document Vue

WBOY
Libérer: 2023-06-20 20:58:23
original
2277 Les gens l'ont consulté

Vue est un framework JavaScript moderne pour la création d'interfaces Web. Il est apprécié par les développeurs pour sa simplicité et sa facilité d'utilisation, ses excellentes performances et sa documentation détaillée. Parmi eux, la liaison de données bidirectionnelle entre les composants parent et enfant est l'une des fonctions essentielles de la communication des composants Vue. Elle peut transférer rapidement l'état du composant au composant enfant, surveiller les changements dans l'état du composant enfant et l'alimenter. revenir au composant parent, complétant ainsi le flux de données bidirectionnel. Cet article présentera la méthode d'implémentation de la fonction de liaison de données bidirectionnelle du composant parent-enfant dans le document Vue.

Pour transférer des données entre les composants parent et enfant, vous pouvez utiliser les méthodes props et $emit, où props est le paramètre de composant de Vue et est utilisé pour transférer des données du composant parent vers le composant enfant, tandis que la méthode $emit est Vue La méthode de communication de l'instance, utilisée pour transmettre les données du composant enfant au composant parent. Si vous devez implémenter une liaison de données bidirectionnelle, vous devez ajouter le modificateur .v-model aux accessoires du composant parent et déclencher l'événement d'entrée dans le composant enfant pour mettre à jour la valeur du composant parent.

Ce qui suit est un exemple de composant parent-enfant qui implémente une liaison de données bidirectionnelle :

// 父组件
<template>
  <div>
    <label>姓名:</label>
    <input v-model="name">
    <ChildComponent v-model="name"></ChildComponent>
  </div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      name: ''
    }
  }
}
</script>

// 子组件
<template>
  <div>
    <label>子组件输入:</label>
    <input type="text" :value="value" @input="updateValue($event.target.value)">
  </div>
</template>
<script>
export default {
  props: {
    value: String
  },
  methods: {
    updateValue(value) {
      this.$emit('input', value)
    }
  }
}
</script>
Copier après la connexion

Dans le composant parent, nous définissons une variable nommée name et la transmettons à l'enfant ComponentChildComponent. Dans le composant enfant, nous utilisons des accessoires pour recevoir la valeur transmise par le composant parent, et utilisons le modificateur v-model pour implémenter une liaison de données bidirectionnelle, lions la valeur du composant enfant à la variable de nom du composant parent et utilisez la méthode $emit pour déclencher l'événement d'entrée, en transmettant la valeur dans le composant enfant.

Il convient de noter que lorsque vous utilisez le modificateur v-model dans les accessoires, vous devez non seulement définir l'attribut value pour recevoir la valeur transmise par le composant parent, mais également définir une valeur nommée value dans le composant enfant L'attribut calculé est utilisé pour lier la valeur de la zone de saisie dans le composant enfant. Lorsque la valeur de la zone de saisie change, utilisez la méthode updateValue pour déclencher l'événement d'entrée et transmettre la nouvelle valeur du composant enfant au composant parent pour mise à jour.

En plus d'utiliser le modificateur v-model pour implémenter la liaison de données bidirectionnelle, Vue fournit également le modificateur .sync pour simplifier le code et le rendre plus facile à lire, à écrire et à comprendre. Dans le composant parent, nous remplaçons simplement v-model par : value.sync:

<template>
  <div>
    <label>姓名:</label>
    <input :value.sync="name">
    <ChildComponent :value.sync="name"></ChildComponent>
  </div>
</template>
Copier après la connexion

Dans le composant enfant, nous utilisons simplement la méthode this.$emit('update :value', value) pour déclencher l'événement update, qui peut transmettre la valeur du composant enfant au composant parent pour mise à jour.

La méthode d'implémentation de la fonction de liaison de données bidirectionnelle des composants parent-enfant dans le document Vue nous fournit une méthode de communication de composants pratique, rapide et efficace grâce à l'utilisation de modificateurs v-model et .sync, rendant le application Le flux bidirectionnel de données peut être obtenu plus facilement pendant le développement du programme.

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal