Maison interface Web js tutoriel Résumé des méthodes de transfert de données vue

Résumé des méthodes de transfert de données vue

May 03, 2018 pm 05:49 PM
transfert Résumer méthode

Cette fois, je vais vous apporter un résumé de la méthode de transfert de données vue. Quelles sont les précautions pour le transfert de données vue. Voici des cas pratiques, jetons un oeil.

Avant-propos

Récemment, j'ai rencontré de nombreuses questions sur l'eventBus de vue qui m'ont également été posées lorsque je décidais de la sélection technologique. . La portée d'utilisation de vuex et eventBus. Alors écrivez-le simplement. Dans le même temps, il existe une solution de mise en œuvre spéciale.

Il existe plusieurs méthodes de transfert de données, vuex, props, eventBus et eventBus spécial.

vuex

Si vous ne l'introduisez pas, vous baisserez les yeux si le volume et la complexité des données ne sont pas à la hauteur.

accessoires

démo

Les composants parents et enfants transmettent les valeurs, API officielle, il suffit d'écrire une démo.

1. Composant parent

<son :info="info" @update="updateHandler"/>
// data
info: 'sendToSon'
// methods
updateHandler (newVal) {
 this.info = newVal
}

2. Composant enfant

// props
props: ['info']
// 向上传值,某个方法中使用
this.$emit('update', 'got')

Le parent transmet la valeur à l'enfant - ->props L'enfant transmet la valeur au parent-->Le composant enfant lie le rappel événement défini dans le composant parent, et le composant enfant déclenche cet événement. Comme il n'est pas recommandé de modifier directement les accessoires passés dans le composant parent dans le composant enfant, vous devez utiliser des événements personnalisés.

Limitations

Composants parent-enfant.

eventBus

demo

les bus sont tous des instances de bus importées

// bus
const bus = new Vue()
// 数据接收组件
// 当前组件接收值则
bus.$on('event1', (val)=>{})
// 数据发出组件
// 当前组件发出值则
bus.$emit('event1', val)

On peut voir qu'il s'agit essentiellement d'un vue instance Agit comme médiateur pour la liaison d'événements. Utilisez-le dans tous les cas pour la communication de données.

Deux (plusieurs) parties utilisent des événements portant le même nom pour communiquer.

Problème

  1. Quand $emit, il doit être $on, sinon l'événement ne sera pas surveillé, ça c'est-à-dire qu'il existe certaines exigences simultanées pour les composants. (Remarque : lorsque le routage est commuté, le nouveau composant de routage est créé en premier, puis l'ancien composant de routage est détruit. Dans certains cas, ces deux cycles de vie peuvent être écrits séparément, voir cette question).

  2. $on ne sera pas automatiquement dissocié après la destruction du composant. Si le même composant est généré plusieurs fois, l'événement sera lié plusieurs fois et $emit sera déclenché une fois, et plusieurs réponses seront nécessaires.

  3. Les données ne sont pas des données « durables » et ne peuvent pas être enregistrées. Elles ne prendront effet qu'après $emit.

Alors existe-t-il une solution plus adaptée ?

Événement spécialBus ?

démo

Jetons d'abord un coup d'œil au code, le code en ligne. les bus sont tous des instances de bus importées.

// bus
const bus = new Vue({
 data () {
  return {
   // 定义数据
   val1: ''
  }
 },
 created () {
  // 绑定监听
  this.$on('updateData1', (val)=>{
   this.val1 = val
  })
 }
})
// 数据发出组件
import bus from 'xx/bus'
// 触发在bus中已经绑定好的事件
bus.$emit('update1', '123')
// 数据接收组件
{{val1}}
// 使用computed接收数据
computed () {
 val1 () {
  // 依赖并返回bus中的val1
  return bus.val1
 }
}

Différent

  1. Le eventBus orthodoxe est uniquement utilisé pour lier et déclencher des événements, et s'en fiche à propos des données, ne recoupe pas les données. Cette solution ajoute une étape supplémentaire pour ajouter des données directement à l'instance de bus. Et la surveillance des événements et l’ajout de données doivent être définis à l’avance.

  2. Le récepteur de données n'utilise plus $on pour connaître les modifications des données, mais les reçoit passivement en calculant les caractéristiques de l'attribut .

Problèmes résolus

Les composants de communication doivent-ils exister en même temps ? Les données sont stockées sur le bus, il n’y a donc aucune exigence.

Lier plusieurs fois ? Les moniteurs de liaison sont tous sur le bus et ne seront pas liés à plusieurs reprises.

Les données ne sont disponibles qu'après $emit ? Utilisez les propriétés calculées pour lire directement la valeur stockée sur le bus sans déclencher à nouveau l'événement.

Discutez

Pourquoi les propriétés calculées sont utilisées

En fait, cela devrait être la raison pour laquelle elles ne peuvent pas être ajoutées directement aux données , tel que data1 : bus .data1 ? Nous pouvons examiner un autre morceau de code, le code en ligne. Modifiez le bus en

data () {
 return {
  // 多一层结构
  val: {
   result: 0
  }
 }
},
created () {
 this.$on('update1', val => {
  console.log('触发1', i1++)
  this.val.result = val
 })
}

et changez le composant de réception des données en

// template
data中获取直接修改值:{{dataResult}}
data中获取直接修改值的父层:{{dataVal}}
computed中依赖直接修改值:{{computedResult}}
// js
data () {
  return {
   // 获取直接修改值
   dataResult: bus.val.result,
   // 获取直接修改值的父层
   dataVal: bus.val
  }
 },
 computed: {
  computedResult () {
   // 依赖直接修改值
   return bus.val.result
  }
 }

Vous pouvez voir que les données qui modifient directement la valeur ne peuvent pas recevoir de réponse dynamique.

Pourquoi utiliser les événements

n'a en fait pas besoin d'être déclenché par $emit. Il est également possible d'utiliser bus.val = 1 pour attribuer des valeurs directement, alors pourquoi ne pas le faire ?

Version simplifiée de vuex

En fait, cet eventBus est une version simplifiée de vuex. Il y a ce passage dans la documentation de vue :

les composants ne sont pas autorisés à modifier directement l'état appartenant à l'instance du magasin, mais doivent exécuter une action pour distribuer (répartir) des événements afin de notifier le magasin pour changer. Nous avons finalement réalisé cette architecture Flux. L'avantage de cet accord est que nous pouvons enregistrer tous les changements d'état qui surviennent dans le magasin.

store correspond à l'instance de bus, state correspond aux données, action correspond à l'événement et dispatch correspond à $emit. Dans le même temps, la façon dont les composants de vuex obtiennent des données se fait via des propriétés calculées, donc en fait, il n'est pas si difficile de comprendre et d'utiliser l'architecture vuex et Flux, n'est-ce pas ?

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Utiliser JS pour détecter la configuration de l'ordinateur (avec code)

Comment personnaliser l'ouverture et la fermeture d'une vérification eslint du projet 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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Rimworld Odyssey Comment pêcher
1 Il y a quelques mois By Jack chen
Puis-je avoir deux comptes Alipay?
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)

Sujets chauds

Tutoriel PHP
1506
276
Comment récupérer des contacts supprimés sur WeChat (un tutoriel simple vous explique comment récupérer des contacts supprimés) Comment récupérer des contacts supprimés sur WeChat (un tutoriel simple vous explique comment récupérer des contacts supprimés) May 01, 2024 pm 12:01 PM

Malheureusement, les gens suppriment souvent certains contacts accidentellement pour certaines raisons. WeChat est un logiciel social largement utilisé. Pour aider les utilisateurs à résoudre ce problème, cet article explique comment récupérer les contacts supprimés de manière simple. 1. Comprendre le mécanisme de suppression des contacts WeChat. Cela nous offre la possibilité de récupérer les contacts supprimés. Le mécanisme de suppression des contacts dans WeChat les supprime du carnet d'adresses, mais ne les supprime pas complètement. 2. Utilisez la fonction intégrée « Récupération du carnet de contacts » de WeChat. WeChat fournit une « Récupération du carnet de contacts » pour économiser du temps et de l'énergie. Les utilisateurs peuvent récupérer rapidement les contacts précédemment supprimés grâce à cette fonction. 3. Accédez à la page des paramètres WeChat et cliquez sur le coin inférieur droit, ouvrez l'application WeChat « Moi » et cliquez sur l'icône des paramètres dans le coin supérieur droit pour accéder à la page des paramètres.

Comment entrer dans le bios sur la carte mère Colorful ? Apprenez-vous deux méthodes Comment entrer dans le bios sur la carte mère Colorful ? Apprenez-vous deux méthodes Mar 13, 2024 pm 06:01 PM

Les cartes mères colorées jouissent d'une grande popularité et d'une part de marché élevée sur le marché intérieur chinois, mais certains utilisateurs de cartes mères colorées ne savent toujours pas comment accéder au BIOS pour les paramètres ? En réponse à cette situation, l'éditeur vous a spécialement proposé deux méthodes pour accéder au bios coloré de la carte mère. Venez l'essayer ! Méthode 1 : utilisez la touche de raccourci de démarrage du disque U pour accéder directement au système d'installation du disque U. La touche de raccourci de la carte mère Colorful pour démarrer le disque U en un seul clic est ESC ou F11. Tout d'abord, utilisez Black Shark Installation Master pour créer un Black. Disque de démarrage Shark U, puis allumez l'ordinateur lorsque vous voyez l'écran de démarrage, appuyez continuellement sur la touche ESC ou F11 du clavier pour accéder à une fenêtre de sélection de la séquence d'éléments de démarrage. Déplacez le curseur à l'endroit où "USB. " s'affiche, puis

Comment supprimer des amis WeChat ? Comment supprimer des amis WeChat Comment supprimer des amis WeChat ? Comment supprimer des amis WeChat Mar 04, 2024 am 11:10 AM

WeChat est l'un des outils de chat traditionnels. Nous pouvons rencontrer de nouveaux amis, contacter d'anciens amis et entretenir l'amitié entre amis grâce à WeChat. Tout comme il n’existe pas de banquet qui ne se termine jamais, des désaccords surviendront inévitablement lorsque les gens s’entendront bien. Lorsqu'une personne affecte extrêmement votre humeur ou que vous constatez que vos points de vue sont incohérents lorsque vous vous entendez bien et que vous ne pouvez plus communiquer, nous devrons peut-être supprimer les amis WeChat. Comment supprimer des amis WeChat ? La première étape pour supprimer des amis WeChat : appuyez sur [Carnet d'adresses] sur l'interface principale de WeChat ; la deuxième étape : cliquez sur l'ami que vous souhaitez supprimer et entrez [Détails] ; la troisième étape : cliquez sur [...] en haut. coin droit ; Étape 4 : Cliquez sur [Supprimer] ci-dessous ; Étape 5 : Après avoir compris les invites de la page, cliquez sur [Supprimer le contact] ;

Comment écrire un roman dans l'application Tomato Free Novel Partagez le tutoriel sur la façon d'écrire un roman dans l'application Tomato Novel Comment écrire un roman dans l'application Tomato Free Novel Partagez le tutoriel sur la façon d'écrire un roman dans l'application Tomato Novel Mar 28, 2024 pm 12:50 PM

Tomato Novel est un logiciel de lecture de romans très populaire. Nous avons souvent de nouveaux romans et bandes dessinées à lire dans Tomato Novel. De nombreux amis souhaitent également gagner de l'argent de poche et éditer le contenu de leur roman. Je veux écrire dans du texte. Alors, comment pouvons-nous y écrire le roman ? Mes amis ne le savent pas, alors allons ensemble sur ce site. Prenons le temps de regarder une introduction à la façon d'écrire un roman. Partagez le didacticiel du roman Tomato sur la façon d'écrire un roman. 1. Ouvrez d'abord l'application de roman gratuite Tomato sur votre téléphone mobile et cliquez sur Personal Center - Writer Center 2. Accédez à la page Tomato Writer Assistant - cliquez sur Créer un nouveau livre. à la fin du roman.

Résumé des méthodes pour obtenir les droits d'administrateur dans Win11 Résumé des méthodes pour obtenir les droits d'administrateur dans Win11 Mar 09, 2024 am 08:45 AM

Un résumé de la façon d'obtenir les droits d'administrateur Win11 Dans le système d'exploitation Windows 11, les droits d'administrateur sont l'une des autorisations très importantes qui permettent aux utilisateurs d'effectuer diverses opérations sur le système. Parfois, nous pouvons avoir besoin d'obtenir des droits d'administrateur pour effectuer certaines opérations, telles que l'installation de logiciels, la modification des paramètres du système, etc. Ce qui suit résume quelques méthodes pour obtenir les droits d'administrateur Win11, j'espère que cela pourra vous aider. 1. Utilisez les touches de raccourci. Dans le système Windows 11, vous pouvez ouvrir rapidement l'invite de commande via les touches de raccourci.

Le secret de l'éclosion des œufs de dragon mobiles est révélé (étape par étape pour vous apprendre à réussir l'éclosion des œufs de dragon mobiles) Le secret de l'éclosion des œufs de dragon mobiles est révélé (étape par étape pour vous apprendre à réussir l'éclosion des œufs de dragon mobiles) May 04, 2024 pm 06:01 PM

Les jeux mobiles font désormais partie intégrante de la vie des gens avec le développement de la technologie. Il a attiré l'attention de nombreux joueurs avec sa jolie image d'œuf de dragon et son processus d'éclosion intéressant, et l'un des jeux qui a beaucoup attiré l'attention est la version mobile de Dragon Egg. Pour aider les joueurs à mieux cultiver et faire grandir leurs propres dragons dans le jeu, cet article vous présentera comment faire éclore des œufs de dragon dans la version mobile. 1. Choisissez le type d'œuf de dragon approprié. Les joueurs doivent choisir soigneusement le type d'œuf de dragon qu'ils aiment et qui leur conviennent, en fonction des différents types d'attributs et de capacités d'œuf de dragon fournis dans le jeu. 2. Améliorez le niveau de la machine d'incubation. Les joueurs doivent améliorer le niveau de la machine d'incubation en accomplissant des tâches et en collectant des accessoires. Le niveau de la machine d'incubation détermine la vitesse d'éclosion et le taux de réussite de l'éclosion. 3. Collectez les ressources nécessaires à l'éclosion. Les joueurs doivent être dans le jeu.

Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Feb 27, 2024 pm 06:45 PM

Explication détaillée de la méthode de référence jQuery : Guide de démarrage rapide jQuery est une bibliothèque JavaScript populaire largement utilisée dans le développement de sites Web. Elle simplifie la programmation JavaScript et fournit aux développeurs des fonctions et fonctionnalités riches. Cet article présentera en détail la méthode de référence de jQuery et fournira des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement. Présentation de jQuery Tout d'abord, nous devons introduire la bibliothèque jQuery dans le fichier HTML. Il peut être introduit via un lien CDN ou téléchargé

Explication détaillée de la méthode de requête de version Oracle Explication détaillée de la méthode de requête de version Oracle Mar 07, 2024 pm 09:21 PM

Explication détaillée de la méthode de requête de version Oracle Oracle est l'un des systèmes de gestion de bases de données relationnelles les plus populaires au monde. Il offre des fonctions riches et des performances puissantes et est largement utilisé dans les entreprises. Dans le processus de gestion et de développement de bases de données, il est très important de comprendre la version de la base de données Oracle. Cet article présentera en détail comment interroger les informations de version de la base de données Oracle et donnera des exemples de code spécifiques. Interrogez la version de base de données de l'instruction SQL dans la base de données Oracle en exécutant une simple instruction SQL

See all articles