


Premiers pas avec VUE3 : utilisation de provide/inject pour partager entre les composants
VUE est un framework front-end moderne présentant les avantages d'une grande facilité d'utilisation, d'une grande flexibilité et d'excellentes performances. Il est de plus en plus populaire et privilégié par les développeurs front-end. La version VUE3 apporte de meilleures performances, une meilleure conception architecturale et est plus conviviale. VUE3 fournit une nouvelle façon de partager des données entre composants : fournir/injecter. Cet article présentera en détail le processus d'utilisation et de mise en œuvre de provide/inject.
Overview
provide/inject est une méthode officiellement recommandée par VUE3 pour partager des données entre composants. Dans VUE2, nous implémentons souvent la communication de données entre les composants via props/$emit et Vuex. La plus grande caractéristique de provide/inject est qu'il implémente le partage de données de manière plus implicite, rendant le code plus lisible et maintenable.
Utilisation de provide/inject
L'utilisation de provide/inject est très simple, voici quelques exemples :
Le composant parent fournit des données
<template> <child-component /> </template> <script> import { provide } from 'vue' import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, setup() { provide('message', 'Hello from parent') } } </script>
Dans le composant parent, nous fournissons un message nommé message via la méthode provide data et définissez sa valeur sur « Bonjour du parent ». Ensuite, nous pouvons utiliser inject dans le sous-composant pour obtenir ces données :
<template> <div>{{ message }}</div> </template> <script> import { inject } from 'vue' export default { setup() { const message = inject('message') return { message } } } </script>
Dans le sous-composant, nous utilisons la méthode inject pour obtenir les données nommées message. À ce stade, nous pouvons utiliser ces données dans le modèle.
Le composant enfant fournit des données
<template> <child-component /> </template> <script> import { ref } from 'vue' import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, setup() { const message = ref('Hello from parent') return { message } }, provide: { message: this.message } } </script>
Dans cet exemple, nous définissons une donnée réactive nommée message dans le composant parent et définissons sa valeur sur « Bonjour du parent ». Nous fournissons ensuite ces données au composant enfant via la méthode provide. Dans le composant enfant, nous obtenons le message via la méthode inject et l'utilisons dans le modèle :
<template> <div>{{ message }}</div> </template> <script> import { inject } from 'vue' export default { setup() { const message = inject('message') return { message } } } </script>
Notez que les données du message que nous définissons ici sont réactives.
Le processus d'implémentation de provide/inject
L'implémentation de provide/inject repose sur le nouveau système de réponse de VUE3. Dans VUE3, provide/inject s'appuie sur provideParent
/ injectSetupRef
pour fonctionner. La fonction provideParent est similaire à la méthode provide, recevant à la fois le nom de clé et la valeur d'une donnée, tandis que injectSetupRef est utilisée pour obtenir des données du composant parent. Le processus d'implémentation spécifique est le suivant :
// provide函数 export function provide(key, value) { const vm = getCurrentInstance(); if (!vm) { console.warn(`provide() can only be used inside setup().`); } else { let provides = vm.provides; const parent = vm.parent; if (provides === EMPTY_OBJ) provides = vm.provides = Object.create(parent.provides); provides[key] = value; } } // inject函数 export function inject(key, defaultValue) { const vm = getCurrentInstance(); if (vm) { const provides = vm.parent.provides; if (key in provides) { return provides[key]; } else if (arguments.length > 1) { return defaultValue; } else { console.warn(`injection "${String(key)}" not found.`); } } else { console.warn(`inject() can only be used inside setup() or functional components.`); } }
Dans la fonction provide, nous obtenons l'instance actuelle via la fonction getCurrentInstance et stockons les données fournies sur l'objet Provides de l'instance actuelle. Si l'instance actuelle n'existe pas, cela signifie que la fonction provide n'est pas appelée dans la fonction setup et qu'un message d'avertissement est renvoyé.
Dans la fonction inject, nous obtenons également l'instance actuelle via la fonction getCurrentInstance, et obtenons la valeur correspondant à la clé à partir de l'objet Provides de son composant parent. Si la valeur correspondant à la clé n'existe pas, defaultValue est renvoyée. Si l'instance actuelle n'existe pas, cela signifie que la fonction inject n'a pas été appelée dans la fonction de configuration ou le composant fonctionnel, et un message d'avertissement sera renvoyé.
Résumé
Grâce à l'introduction de cet article, nous pouvons savoir que fournir/injecter est une excellente méthode pour partager des données entre les composants VUE3. Il implémente le partage de données de manière plus implicite, rendant le code plus lisible et maintenable. Lors de l'utilisation, veuillez noter que les données fournies sont réactives et peuvent être utilisées dans des composants imbriqués. Dans le même temps, il convient de noter que si les données que nous fournissons n'existent pas dans provide, les paramètres passés dans arguments[1] seront utilisés comme valeur par défaut. À ce stade, vous devez toujours faire attention au type. et la valeur des paramètres.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

VUE est un framework front-end moderne présentant les avantages d’une grande facilité d’utilisation, d’une grande flexibilité et d’excellentes performances. Il est de plus en plus populaire et privilégié par les développeurs front-end. La version VUE3 apporte de meilleures performances, une meilleure conception architecturale et est plus conviviale. VUE3 offre une nouvelle façon de réaliser la fonction de partage de données entre les composants - fournir/injecter. Cet article présentera en détail le processus d'utilisation et de mise en œuvre de provide/inject. Aperçufournir/

Vue est un framework JavaScript populaire qui fournit des instructions riches pour implémenter des interfaces utilisateur interactives. Parmi eux, l'instruction de traitement d'événements v-on peut être ajoutée à l'étiquette pour lier une fonction de traitement d'événements. Cependant, nous souhaitons parfois qu'un bouton soit cliqué une seule fois, au lieu de déclencher le gestionnaire d'événements correspondant à chaque fois que vous cliquez dessus. Alors comment utiliser v-on:click.once dans Vue pour se rendre compte que l'événement n'est déclenché qu'une seule fois ? Comment utiliser v-on:click.once dans Vue

Vue est un framework JavaScript populaire largement utilisé pour développer des applications monopage et des sites Web dynamiques. Parmi eux, la composantisation et la modularisation sont l'une de ses principales caractéristiques. Vue utilise des composants à fichier unique (SFC) pour implémenter la modularisation des composants et améliorer l'efficacité de l'écriture, de la maintenance et des tests des composants. Cet article présentera des conseils et des bonnes pratiques pour utiliser des composants à fichier unique pour modulariser les composants Vue. Qu'est-ce qu'un composant de fichier unique ? Le composant de fichier unique fait référence à

Avec le développement continu de la technologie front-end, le framework front-end est devenu un élément important du développement d'applications Web modernes. Parmi eux, Vue.js, en tant que framework MVVM excellent et léger, est favorisé par les développeurs front-end. La commande Vue.js est un module fonctionnel très important dans le framework Vue.js. Parmi elles, v-model, v-if, v-for et d'autres commandes sont des outils indispensables pour développer des applications Vue.js. Ci-dessous, nous analyserons en détail l’utilisation et la fonction de ces instructions. 1. v-mo

Comment implémenter la fonction Upload de vue. Avec le développement d'applications Web, la fonction de téléchargement de fichiers est devenue de plus en plus courante. Vue est un framework JavaScript populaire qui offre un moyen pratique de créer des applications Web modernes. Dans Vue, vous pouvez implémenter la fonction de téléchargement de fichiers en utilisant le composant Upload de Vue. Cet article expliquera comment utiliser Vue pour implémenter la fonction de téléchargement de fichiers et fournira des exemples de code spécifiques. Tout d'abord, installez les dépendances requises dans le projet Vue. Vous pouvez utiliser n

Comment utiliser Vue pour implémenter les effets de nuage de balises Introduction : Le nuage de balises est un effet de page Web courant qui affiche des balises avec différentes tailles de police pour montrer la popularité ou la pertinence des balises. Dans cet article, nous présenterons comment utiliser le framework Vue pour implémenter des effets de nuage de tags et fournirons des exemples de code spécifiques. Étape 1 : Créer un projet Vue Tout d'abord, nous devons créer un projet Vue de base. Vous pouvez utiliser VueCLI pour générer rapidement un squelette de projet. Ouvrez l'outil de ligne de commande et entrez la commande suivante : vuecreate

Vue et Vue-Router : Comment utiliser les informations de routage dans les composants ? Introduction : Au cours du processus de développement de Vue.js, il est souvent nécessaire d'obtenir et d'utiliser des informations de routage dans les composants, comme l'obtention des paramètres d'URL actuels, le saut entre différentes pages, etc. Vue.js fournit le plug-in Vue-Router pour implémenter les fonctions de routage front-end. Cet article explique comment utiliser Vue-Router dans les composants pour obtenir et utiliser les informations de routage. Introduction à Vue-Router : Vue-Router est Vue

Vue3 est un framework frontal très populaire récemment. Sa plus grande fonctionnalité est la technologie DOM virtuel, c'est-à-dire que Vue convertira l'arborescence DOM réelle en une arborescence DOM virtuelle, puis la convertira en une arborescence DOM réelle après avoir opéré sur le DOM virtuel. arbre. Cette technologie nous permet d'exploiter le DOM plus efficacement et peut également obtenir de très bonnes performances lorsque le nombre de DOM est important. Cependant, en raison de la particularité de la technologie DOM virtuel, lorsque nous exploitons le DOM, nous ne pouvons parfois pas obtenir immédiatement le dernier DO.
