Maison interface Web Voir.js Conseils de programmation et précautions pour la communication des composants Vue

Conseils de programmation et précautions pour la communication des composants Vue

Jul 18, 2023 pm 08:02 PM
注意事项 编程技巧 vue组件通讯

Conseils de programmation et précautions pour la communication des composants Vue

Vue.js est un framework JavaScript populaire en raison de sa simplicité, de sa facilité d'utilisation et de ses puissantes capacités de liaison de données, de plus en plus de développeurs choisissent d'utiliser Vue pour développer des applications frontales. Dans le processus de développement de Vue, la communication entre les composants est un sujet très important. Une bonne communication entre les composants peut améliorer l'efficacité du développement et la maintenabilité du code. Cet article présentera quelques compétences de programmation et précautions pour la communication des composants Vue.

1. Communication entre composants parent-enfant
Dans Vue, la communication entre composants parent-enfant est le moyen le plus courant. Le composant parent transmet les données au composant enfant via des accessoires, et le composant enfant transmet les données au composant parent via des événements.

1. Utilisez des accessoires pour transmettre des données

Les composants parents peuvent transmettre des données aux composants enfants via des accessoires. Les composants enfants peuvent recevoir des données transmises par les composants parents et effectuer un rendu ou d'autres opérations.

// 父组件
<template>
  <div>
    <child-component :message="message" />
  </div>
</template>

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

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: 'Hello Vue!'
    }
  }
}
</script>

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

<script>
export default {
  props: ['message']
}
</script>
Copier après la connexion

Dans le code ci-dessus, le composant parent transmet message au composant enfant via des accessoires, et le composant enfant utilise l'option props pour déclarer les propriétés reçues. message传递给子组件,子组件使用props选项声明接收的属性。

2.使用事件传递数据

子组件可以通过$emit方法触发一个自定义事件,并将数据传递给父组件。父组件可以通过v-on监听子组件触发的事件,并获取传递过来的数据。

// 子组件
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
export default {
  methods: {
    handleClick() {
      this.$emit('my-event', 'Hello Parent!')
    }
  }
}
</script>

// 父组件
<template>
  <div>
    <child-component @my-event="handleEvent" />
  </div>
</template>

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

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

在上述代码中,子组件通过this.$emit方法触发my-event事件,并将数据'Hello Parent!'传递给父组件。父组件使用v-on监听my-event事件,并调用相应的方法处理事件。

二、非父子组件通讯
除了父子组件通讯,有时我们还需要在非父子组件之间进行通讯。常用的方法有使用Vue实例作为中央事件总线或使用Vuex进行状态管理。

1.使用Vue实例作为中央事件总线

可以创建一个Vue实例作为中央事件总线,子组件通过该实例触发事件,其他组件通过监听事件接收数据。

// EventBus.js
import Vue from 'vue';
export const EventBus = new Vue();

// 子组件A
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
import { EventBus } from './EventBus.js';

export default {
  methods: {
    handleClick() {
      EventBus.$emit('my-event', 'Hello!')
    }
  }
}
</script>

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

<script>
import { EventBus } from './EventBus.js';

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

在上述代码中,我们创建了一个名为EventBus的Vue实例,并通过该实例实现子组件之间的通讯。子组件A通过EventBus.$emit触发自定义事件my-event,子组件B通过EventBus.$on监听my-event事件,并更新数据。

2.使用Vuex进行状态管理

Vuex是Vue官方提供的一个状态管理库。可以使用Vuex来管理应用的状态并实现组件之间的通讯。

// store.js
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    message: ''
  },
  mutations: {
    setMessage(state, message) {
      state.message = message;
    }
  },
  actions: {
    updateMessage({ commit }, message) {
      commit('setMessage', message);
    }
  },
  getters: {
    getMessage(state) {
      return state.message;
    }
  }
});

// 子组件A
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
import { mapActions } from 'vuex';

export default {
  methods: {
    ...mapActions(['updateMessage']),
    handleClick() {
      this.updateMessage('Hello Vuex!');
    }
  }
}
</script>

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

<script>
import { mapGetters } from 'vuex';

export default {
  computed: {
    ...mapGetters(['getMessage']),
    message() {
      return this.getMessage;
    }
  }
}
</script>
Copier après la connexion

在上述代码中,我们使用Vuex创建了一个store,包含了statemutationsactionsgetters。子组件A通过mapActions辅助函数调用updateMessage方法更新message的值。子组件B通过mapGetters辅助函数获取message

2. Utiliser des événements pour transmettre des données

Un composant enfant peut déclencher un événement personnalisé via la méthode $emit et transmettre les données au composant parent. Le composant parent peut écouter les événements déclenchés par le composant enfant via v-on et obtenir les données transmises.
    rrreee
  1. Dans le code ci-dessus, le composant enfant déclenche l'événement my-event via la méthode this.$emit et envoie les données 'Bonjour Parent !' Passé au composant parent. Le composant parent utilise v-on pour écouter l'événement my-event et appelle la méthode correspondante pour gérer l'événement.
  2. 2. Communication entre composants non parent-enfant
  3. En plus de la communication entre composants parent-enfant, nous devons parfois également communiquer entre des composants non parent-enfant. Les méthodes couramment utilisées incluent l'utilisation d'une instance Vue comme bus d'événements central ou l'utilisation de Vuex pour la gestion des états.
  4. 1. Utilisez une instance Vue comme bus d'événements central

Vous pouvez créer une instance Vue comme bus d'événements central. Les sous-composants déclenchent des événements via cette instance, et d'autres composants reçoivent des données en écoutant les événements.
rrreee

Dans le code ci-dessus, nous avons créé une instance Vue nommée EventBus et implémenté la communication entre les sous-composants via cette instance. Le sous-composant A déclenche l'événement personnalisé my-event via EventBus.$emit, et le sous-composant B écoute my via <code>EventBus.$on -event événement et mise à jour des données. 🎜🎜2. Utilisez Vuex pour la gestion de l'état🎜🎜Vuex est une bibliothèque de gestion d'état officiellement fournie par Vue. Vous pouvez utiliser Vuex pour gérer l'état de votre application et implémenter la communication entre les composants. 🎜rrreee🎜Dans le code ci-dessus, nous utilisons Vuex pour créer un magasin, comprenant état, mutations, actions et getters. Le sous-composant A met à jour la valeur de message en appelant la méthode updateMessage via la fonction d'assistance mapActions. Le sous-composant B obtient la valeur de message via la fonction auxiliaire mapGetters. 🎜🎜3. Notes🎜🎜🎜 Faites bon usage des propriétés calculées : Dans Vue, les propriétés calculées sont une fonctionnalité très utile. L'utilisation d'attributs calculés peut éviter d'écrire des expressions complexes dans des modèles et peut également mettre en cache les résultats de plusieurs calculs d'attributs de données pour améliorer les performances. 🎜🎜Essayez d'éviter de modifier directement les props : dans Vue, les props sont en lecture seule et les valeurs des props ne doivent pas être modifiées directement. Si vous devez modifier la valeur des accessoires dans un sous-composant, vous devez la convertir en attribut data du sous-composant et la modifier à l'intérieur du sous-composant. Si vous devez transmettre la valeur modifiée au composant parent, vous pouvez utiliser l'événement submit. 🎜🎜Utilisez $refs pour obtenir l'instance du sous-composant : Dans certains scénarios, nous souhaitons obtenir l'instance du sous-composant dans le composant parent, vous pouvez utiliser $refs. En ajoutant l'attribut ref au composant enfant, l'instance du composant enfant peut être obtenue via this.$refs dans le composant parent. 🎜🎜🎜Résumé🎜Dans la communication entre composants Vue, la communication entre composants parent-enfant et la communication entre composants non parent-enfant sont les deux moyens les plus courants. La communication entre les composants parent-enfant peut réaliser le transfert de données et l'interaction via des accessoires et des événements. La communication entre composants non parent-enfant peut être obtenue en créant une instance Vue en tant que bus d'événements central ou en utilisant Vuex pour la gestion de l'état. Lors de l'écriture du code de communication des composants Vue, nous devons faire bon usage des propriétés calculées, éviter de modifier directement les accessoires et utiliser $refs pour obtenir des instances de sous-composants et d'autres techniques pour améliorer l'efficacité du développement et la maintenabilité du code. 🎜

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines 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 décompresser un fichier iso Comment décompresser un fichier iso Feb 19, 2024 pm 04:07 PM

Un fichier ISO est un format de fichier d'image disque courant généralement utilisé pour stocker l'intégralité du contenu d'un disque, y compris les fichiers et les systèmes de fichiers. Lorsque nous devons accéder au contenu du fichier ISO, nous devons le décompresser. Cet article présentera plusieurs méthodes courantes pour décompresser les fichiers ISO. Décompression à l'aide d'un lecteur optique virtuel C'est l'une des méthodes les plus courantes de décompression de fichiers ISO. Tout d'abord, nous devons installer un logiciel de lecteur optique virtuel, tel que DAEMON Tools Lite, PowerISO, etc. Ensuite, double-cliquez sur l'icône du logiciel du lecteur optique virtuel

Wuthering WavesIntroduction aux points nécessitant une attention particulière lors des tests Wuthering WavesIntroduction aux points nécessitant une attention particulière lors des tests Mar 13, 2024 pm 08:13 PM

Pendant le test Mingchao, veuillez éviter les mises à niveau du système, les réinitialisations d'usine et le remplacement de pièces pour éviter que la perte d'informations ne provoque une connexion anormale au jeu. Rappel spécial : il n'y a pas de voie d'appel pendant la période de test, veuillez donc la manipuler avec prudence. Introduction aux précautions lors du test Mingchao : Ne pas mettre à niveau le système, restaurer les paramètres d'usine, remplacer les composants de l'équipement, etc. Notes : 1. Veuillez mettre à niveau le système avec soin pendant la période de test pour éviter la perte d'informations. 2. Si le système est mis à jour, cela peut entraîner un problème d'impossibilité de se connecter au jeu. 3. À ce stade, le canal d'appel n'a pas encore été ouvert. Il est conseillé aux joueurs de choisir s'ils souhaitent effectuer une mise à niveau, à leur propre discrétion. 4. Dans le même temps, un compte de jeu ne peut être utilisé qu’avec un seul appareil Android et un seul PC. 5. Il est recommandé d'attendre la fin du test avant de mettre à niveau le système de téléphonie mobile, de restaurer les paramètres d'usine ou de remplacer l'appareil.

Notes de développement C++ : évitez les exceptions de pointeur nul dans le code C++ Notes de développement C++ : évitez les exceptions de pointeur nul dans le code C++ Nov 22, 2023 pm 02:38 PM

Dans le développement C++, l'exception de pointeur nul est une erreur courante, qui se produit souvent lorsque le pointeur n'est pas initialisé ou continue d'être utilisé après sa publication. Les exceptions de pointeur nul provoquent non seulement des plantages du programme, mais peuvent également entraîner des vulnérabilités de sécurité, une attention particulière est donc requise. Cet article explique comment éviter les exceptions de pointeur nul dans le code C++. Initialisation des variables de pointeur Les pointeurs en C++ doivent être initialisés avant utilisation. S'il n'est pas initialisé, le pointeur pointe vers une adresse mémoire aléatoire, ce qui peut provoquer une exception de pointeur nul. Pour initialiser un pointeur, pointez-le sur un

Mar 22, 2024 pm 04:10 PM

Avec l'essor des plateformes de vidéos courtes, Douyin est devenu une partie intégrante de la vie quotidienne de nombreuses personnes. Diffuser en direct sur Douyin et interagir avec les fans sont le rêve de nombreux utilisateurs. Alors, comment démarrer une diffusion en direct sur Douyin pour la première fois ? 1. Comment démarrer une diffusion en direct sur Douyin pour la première fois ? 1. Préparation Pour démarrer la diffusion en direct, vous devez d'abord vous assurer que votre compte Douyin a terminé l'authentification par votre nom réel. Vous pouvez trouver le didacticiel d'authentification par nom réel dans « Moi » -> « Paramètres » -> « Compte et sécurité » dans l'application Douyin. Après avoir terminé l'authentification par nom réel, vous pouvez remplir les conditions de diffusion en direct et démarrer la diffusion en direct sur la plateforme Douyin. 2. Demandez une autorisation de diffusion en direct. Après avoir rempli les conditions de diffusion en direct, vous devez demander une autorisation de diffusion en direct. Ouvrez l'application Douyin, cliquez sur "Moi" -> "Creator Center" -> "Direct

Étapes et précautions d'utilisation du stockage local pour stocker des données Étapes et précautions d'utilisation du stockage local pour stocker des données Jan 11, 2024 pm 04:51 PM

Étapes et précautions d'utilisation de localStorage pour stocker des données Cet article présente principalement comment utiliser localStorage pour stocker des données et fournit des exemples de code pertinents. LocalStorage est un moyen de stocker des données dans le navigateur qui conserve les données locales sur l'ordinateur de l'utilisateur sans passer par un serveur. Voici les étapes et les éléments à prendre en compte lors de l'utilisation de localStorage pour stocker des données. Étape 1 : Vérifiez si le navigateur prend en charge LocalStorage

Conseils de programmation Go : Supprimez de manière flexible des éléments dans des tranches Conseils de programmation Go : Supprimez de manière flexible des éléments dans des tranches Apr 02, 2024 pm 05:54 PM

Suppression des éléments de la tranche Go Pour supprimer un seul élément : utilisez la méthode append() pour créer une nouvelle tranche, en excluant les éléments que vous souhaitez supprimer. Utilisez la méthode copy() pour déplacer les éléments et ajuster leur longueur. Supprimer plusieurs éléments : utilisez une boucle for pour parcourir la tranche, en excluant les éléments que vous souhaitez supprimer de la nouvelle tranche. Utilisez la méthode reverse() pour trier les éléments à supprimer et supprimez-les de l'arrière vers l'avant pour éviter les problèmes d'index. Choisissez la technique la plus appropriée en fonction du nombre d'éléments que vous souhaitez supprimer et de vos exigences de performances.

Étapes et précautions pour installer pip sans réseau Étapes et précautions pour installer pip sans réseau Jan 18, 2024 am 10:02 AM

Méthodes et précautions pour installer pip dans un environnement hors ligne L'installation de pip devient un défi dans un environnement hors ligne où le réseau n'est pas fluide. Dans cet article, nous présenterons plusieurs méthodes d'installation de pip dans un environnement hors ligne et fournirons des exemples de code spécifiques. Méthode 1 : utilisez le package d'installation hors ligne. Dans un environnement où vous pouvez vous connecter à Internet, utilisez la commande suivante pour télécharger le package d'installation pip à partir de la source officielle : pipdownloadpip Cette commande téléchargera automatiquement pip et ses packages dépendants à partir de la source officielle. source et enregistrez-le dans le répertoire courant. Déplacez le package compressé téléchargé vers un emplacement distant

Notes de développement Python : évitez les problèmes courants de fuite de mémoire Notes de développement Python : évitez les problèmes courants de fuite de mémoire Nov 22, 2023 pm 01:43 PM

En tant que langage de programmation de haut niveau, Python présente les avantages d’être facile à apprendre, facile à utiliser et très efficace en développement, et devient de plus en plus populaire parmi les développeurs. Cependant, en raison de la manière dont son mécanisme de récupération de place est implémenté, Python est sujet aux fuites de mémoire lorsqu'il traite de grandes quantités de mémoire. Cet article présentera les éléments auxquels vous devez prêter attention lors du développement de Python sous trois aspects : les problèmes courants de fuite de mémoire, les causes des problèmes et les méthodes pour éviter les fuites de mémoire. 1. Problèmes courants de fuite de mémoire : les fuites de mémoire font référence à l'incapacité de libérer l'espace mémoire alloué par le programme pendant le fonctionnement.

See all articles