Maison interface Web Voir.js Comment utiliser Vue pour implémenter la communication entre composants ?

Comment utiliser Vue pour implémenter la communication entre composants ?

Jul 17, 2023 pm 11:25 PM
vue组件传值 vue组件通讯 vue通信方式

Comment utiliser Vue pour implémenter la communication entre composants ?

Vue est un framework JavaScript populaire pour créer des interfaces utilisateur. Dans Vue, les composants sont les unités de base pour créer des applications Web. Et la communication entre les composants est essentielle à la création d’applications complexes. Cet article expliquera comment utiliser Vue pour implémenter la communication entre les composants et fournira quelques exemples de code.

1. Le composant parent communique avec le composant enfant
C'est le scénario le plus courant dans lequel le composant parent communique avec le composant enfant. Vue fournit des attributs props pour implémenter cette communication. Dans le composant parent, les données peuvent être transmises au composant enfant via des accessoires, et le composant enfant peut utiliser directement les données dans les accessoires.

Ce qui suit est un exemple simple d'un composant parent communiquant avec un composant enfant :

Composant parent

<template>
  <div>
    <h1>父组件</h1>
    <ChildComponent :message="message"></ChildComponent>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: 'Hello World!'
    };
  }
};
</script>
Copier après la connexion

Composant enfant

<template>
  <div>
    <h2>子组件</h2>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      required: true
    }
  }
};
</script>
Copier après la connexion

Dans l'exemple ci-dessus, un message de données est défini dans le composant parent. composant, via la propriété props transmet les données aux composants enfants. Le composant enfant utilise props pour recevoir les données transmises par le composant parent et les restitue dans le modèle. message,通过props属性将数据传递给子组件。子组件中使用props接收父组件传递来的数据,并在模板中渲染出来。

二、子组件向父组件通讯
子组件向父组件通讯相对来说稍微复杂一些。Vue提供了$emit方法来实现子组件向父组件通讯。

下面是一个子组件向父组件通讯的简单示例:

父组件

<template>
  <div>
    <h1>父组件</h1>
    <ChildComponent @message="handleMessage"></ChildComponent>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    handleMessage(message) {
      console.log(message);
    }
  }
};
</script>
Copier après la connexion

子组件

<template>
  <div>
    <h2>子组件</h2>
    <button @click="sendMessage">发送消息</button>
  </div>
</template>

<script>
export default {
  methods: {
    sendMessage() {
      this.$emit('message', 'Hello World!');
    }
  }
};
</script>
Copier après la connexion

在上面的示例中,子组件中通过使用$emit方法触发message事件,并传递数据Hello World!给父组件。父组件使用@message监听message事件,并在handleMessage方法中处理事件。

三、非父子组件通讯
如果需要在非父子组件之间进行通讯,可以使用Vue提供的事件总线机制。可以创建一个事件总线实例,然后在各个组件之间通过该实例来进行通讯。

下面是一个使用事件总线实现非父子组件通讯的示例:

事件总线

// eventBus.js
import Vue from 'vue';

const EventBus = new Vue();

export default EventBus;
Copier après la connexion

组件A

<template>
  <div>
    <h2>组件A</h2>
    <button @click="sendMessage">发送消息</button>
  </div>
</template>

<script>
import EventBus from './eventBus.js';

export default {
  methods: {
    sendMessage() {
      EventBus.$emit('message', 'Hello World!');
    }
  }
};
</script>
Copier après la connexion

组件B

<template>
  <div>
    <h2>组件B</h2>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import EventBus from './eventBus.js';

export default {
  data() {
    return {
      message: ''
    };
  },
  created() {
    EventBus.$on('message', (message) => {
      this.message = message;
    });
  }
};
</script>
Copier après la connexion

在上面的示例中,创建了一个事件总线实例EventBus,然后在组件A中触发message事件并传递数据Hello World!给事件总线实例。组件B在创建时监听message

2. Le composant enfant communique avec le composant parent

La communication entre le composant enfant et le composant parent est relativement compliquée. Vue fournit la méthode $emit pour implémenter la communication entre les composants enfants et les composants parents.

Ce qui suit est un exemple simple d'un composant enfant communiquant avec un composant parent : 🎜🎜Composant parent🎜rrreee🎜Composant enfant🎜rrreee🎜Dans l'exemple ci-dessus, le composant enfant est déclenché en utilisant le $emit code> méthodemessage et transmettez les données Hello World! au composant parent. Le composant parent utilise @message pour écouter l'événement message et gérer l'événement dans la méthode handleMessage. 🎜🎜3. Communication entre composants non parent-enfant🎜Si vous avez besoin de communiquer entre des composants non parent-enfant, vous pouvez utiliser le mécanisme de bus d'événements fourni par Vue. Vous pouvez créer une instance de bus d'événements, puis communiquer entre les composants via cette instance. 🎜🎜Voici un exemple d'utilisation du bus d'événements pour implémenter la communication entre composants non parent-enfant : 🎜🎜Event Bus🎜rrreee🎜Component A🎜rrreee🎜Component B🎜rrreee🎜Dans l'exemple ci-dessus, une instance de bus d'événements EventBus , puis déclenchez l'événement <code>message dans le composant A et transmettez les données Hello World! à l'instance de bus d'événements. Le composant B écoute l'événement message lors de sa création et met à jour les données après avoir reçu l'événement. 🎜🎜Résumé : 🎜Ce qui précède est une brève introduction sur la façon d'utiliser Vue pour implémenter la communication entre composants. Dans Vue, le composant parent peut communiquer avec le composant enfant via l'attribut props, le composant enfant peut communiquer avec le composant parent via la méthode $emit et la communication entre les composants non parents et enfants peut se faire via le mécanisme de bus d'événements. J'espère que cet article vous aidera à comprendre la communication des composants dans Vue. 🎜

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment transmettre une valeur au composant vue Comment transmettre une valeur au composant vue Jan 06, 2023 pm 05:26 PM

Méthode de transmission de valeur : 1. Utilisez des accessoires pour passer du parent à l'enfant ; 2. D'un enfant à un parent, vous devez personnaliser l'événement. Utilisez "this.$emit('event name')" pour le déclencher dans le composant enfant. et utilisez "@event" dans la surveillance du nom du parent. 3. Entre frères, utilisez l'élément parent public comme pont, combinant les accessoires parent et enfant pour transmettre les paramètres et les événements personnalisés enfants et parents ; 4. Utilisez le routage pour transmettre la valeur. ; 5. Utilisez $ref pour transmettre la valeur ; 6. Utilisez l'injection de dépendances pour transmettre les descendants et les arrière-petits-enfants ; 7. Utilisez $attrs ; 8. Utilisez les événements intermédiaires $listeners ;

Comment transmettre une valeur au composant vue Comment transmettre une valeur au composant vue Jul 18, 2023 am 09:27 AM

La façon de transmettre la valeur dans les composants vue : 1. Passer du parent au fils ; 2. Passer du fils au père ; 3. Passer la valeur du frère 4. Passer la valeur avec le point d'interrogation, les deux points et le composant parent-enfant ; "$ref" pour transmettre la valeur ; 6. Utilisez "inject" pour injecter les données du composant parent dans l'instance actuelle ; 7. Passer de l'ancêtre au petit-fils ; 8. Passer du petit-fils à l'ancêtre ; Transmettez la valeur à sessionStorage ; 11. vuex.

Problèmes courants et solutions pour la communication des composants Vue Problèmes courants et solutions pour la communication des composants Vue Jul 17, 2023 pm 11:16 PM

Problèmes courants et solutions pour la communication des composants Vue Dans le développement d'applications Vue, la communication des composants est un sujet très important. La communication entre différents composants peut nous aider à réaliser des fonctions telles que le partage de données, la gestion d'état et la diffusion d'événements. Cependant, la communication des composants rencontre souvent certains problèmes. La manière de résoudre ces problèmes est ce sur quoi nous devons nous concentrer pendant le développement. 1. Le composant parent transmet les données au composant enfant Un scénario courant est que le composant parent doit transmettre des données au composant enfant. Dans ce cas, nous pouvons utiliser la liaison d'attributs pour passer.

Méthode d'implémentation de la fonction de transfert de valeur parent-enfant du composant dans le document Vue Méthode d'implémentation de la fonction de transfert de valeur parent-enfant du composant dans le document Vue Jun 20, 2023 am 11:12 AM

Vue est un framework JavaScript populaire. Le développement de ses composants peut nous aider à améliorer le degré de modularité lors du développement d'applications complexes, ainsi qu'à améliorer la maintenabilité et l'évolutivité du code. Dans Vue, le transfert de données entre les composants est une exigence très courante, et le scénario le plus courant est le transfert de données entre les composants parents et enfants. Afin d'implémenter ce type de transfert de données dans Vue, nous devons comprendre la méthode d'implémentation du transfert de valeur entre les composants parents et enfants. Dans les composants Vue, un composant parent peut avoir plusieurs composants enfants en même temps, et le composant parent peut

Quels sont les moyens de transmettre des valeurs dans les composants vue ? Quels sont les moyens de transmettre des valeurs dans les composants vue ? Jun 19, 2023 pm 03:23 PM

La façon dont les composants Vue transmettent les valeurs : 1. Passez du parent à l'enfant, définissez "props" dans le composant enfant pour le recevoir ; 2. Passez de l'enfant au parent, utilisez "$emit()" pour déclencher dans le composant enfant ; . Transmettez les valeurs des frères, définissez le bus d'événements "eventBus" ; 4. Valeur de transmission du point d'interrogation, valeur de transmission des deux points et valeur de transmission du composant parent-enfant 5. Utilisez "$ref" pour transmettre la valeur ; " pour injecter les données du composant parent dans l'instance actuelle ; 7. Passage de l'ancêtre au petit-enfant ; 8 , Sun Chuanzu ; 9. $parent ; 10. Passage de la valeur sessionStorage ; 11. vuex.

Comparaison des solutions de saut de page dans la communication des composants Vue Comparaison des solutions de saut de page dans la communication des composants Vue Jul 17, 2023 pm 02:12 PM

Comparaison des solutions de saut de page dans la communication des composants Vue Dans le développement de Vue, le saut de page est l'un des besoins que nous rencontrons souvent. Cependant, dans la communication entre composants, les sauts de page doivent prendre en compte des problèmes tels que le transfert de données et la gestion des statuts entre les composants. Cet article comparera et analysera les solutions de saut de page dans la communication des composants Vue et donnera des exemples de code correspondants. 1. Passer par le routage Vue fournit à vue-router pour gérer le saut de routage de la page. La commutation de page entre les composants peut être réalisée via des sauts de routage, et les paramètres peuvent être transportés

Quelle est la manière de transmettre une valeur au composant vue ? Quelle est la manière de transmettre une valeur au composant vue ? Jul 18, 2023 am 09:32 AM

Méthode de transfert de valeur de composant : 1. Transmettre la valeur via le routage ; 2. En liant l'étiquette du sous-composant dans le composant parent aux données du composant parent, les accessoires du sous-composant reçoivent la valeur transmise par le composant parent, et les accessoires du sous-composant reçoivent le composant parent. La valeur transmise ; 3. Le composant enfant transmet la valeur au composant parent et utilise "this.$emit" pour parcourir l'événement getData ; -composants parents, l'un lie l'événement "this.on" et l'autre déclenche l'événement "this .$emit", ou ajoute des données publiques dans le stockage local, qui peuvent être obtenues dans les deux pages

Un article analysant brièvement le problème du transfert de valeur entre les composants parents et enfants dans Vue Un article analysant brièvement le problème du transfert de valeur entre les composants parents et enfants dans Vue Feb 23, 2023 pm 07:32 PM

Comment transmettre des valeurs entre les composants parent et enfant de Vue ? L'article suivant vous présentera les problèmes de transfert de valeur des composants parents et des composants enfants dans Vue. J'espère qu'il vous sera utile !

See all articles