Maison >
interface Web >
Voir.js >
La communication globale des composants Vue3 fournit/injecte une analyse du code source
La communication globale des composants Vue3 fournit/injecte une analyse du code source
WBOY
Libérer: 2023-05-14 17:58:06
avant
1162 Les gens l'ont consulté
1. Avant-propos
Comme son nom l'indique, le composant grand-père-petit-fils a une relation de référence plus profonde que la communication entre les composants parent-enfant (également appelés « composants de saut de génération ») :
Le composant C est introduit dans le composant B, et le composant B est introduit dans le rendu du composant A, à ce moment A est le niveau grand-père de C (il peut y avoir des relations plus hiérarchiques, si vous utilisez des accessoires, vous ne pouvez le passer que niveau par niveau, ce qui est trop lourd, donc nous). besoin d’une méthode de communication plus directe.
La relation entre eux est la suivante. Grandson.vue n'est pas directement monté sous Grandfather.vue Il y a au moins un Son.vue entre eux (il peut y en avoir plusieurs) :
Grandfather.vue
└─Son.vue
└─Grandson.vue
Copier après la connexion
En raison de la relation entre les supérieurs et. Cohérence des subordonnés, le schéma de communication composante grand-père-petit-fils s'applique également à la communication composante parent-enfant, il suffit de remplacer la relation grand-père-petit-fils par une relation père-fils.
2. provide / inject
Cette fonctionnalité comporte deux parties : Grandfather.vue a une option provide pour fournir des données, et Grandson.vue a une option inject pour commencer à utiliser les données.
Grandfather.vue transmet la valeur à Grandson.vue via provide (peut inclure des fonctions définies)
Grandson.vue déclenche l'exécution de l'événement du composant Grandfather via inject à Grandfather.vue
quel que soit le Hiérarchie des composants Quelle que soit sa profondeur, le composant qui initie provide peut être utilisé comme fournisseur de dépendances pour tous ses composants subordonnés. Le contenu de cette partie a beaucoup changé, mais il est en fait très simple à utiliser. , il y a aussi des similitudes :
Parent Le composant n'a pas besoin de savoir quels sous-composants utilisent la propriété qu'il fournit
Le sous-composant n'a pas besoin de savoir d'où vient la propriété inject
De plus, une chose à retenir est que les liaisons provide et inject ne répondent pas. C'est intentionnel, mais si un objet écoutable est transmis, les propriétés de l'objet seront toujours réactives. 3. Initier provideExaminons d'abord l'utilisation de 2.x:
L'ancienne version de provide est similaire à data et est configurée comme une fonction qui renvoie un objet.
La nouvelle version de provide dans 3.x est assez différente dans son utilisation de 2.x.
Dans 3.x, provide doit être importé et activé dans la configuration, et constitue désormais une toute nouvelle méthode.
Chaque fois que vous souhaitez fournir une donnée, vous devez l'appeler séparément. Chaque fois que vous appelez, vous devez transmettre 2 paramètres :
L'opération est très simple, n'est-ce pas, mais il faut noter que provide n'est pas responsive Si vous souhaitez le rendre responsive, vous devez transmettre des données réactives 4. Réception d'inject Examinons d'abord l'utilisation de 2.x :
L'utilisation de l'ancienne version d'inject est similaire à celle des accessoires. x inject est également assez différent de celui de 2.x . Dans 3.x, inject est identique à provide. Il doit d'abord être importé puis activé dans la configuration. C'est également une toute nouvelle méthode.
Chaque fois que vous souhaitez injecter une donnée, vous devez l'appeler séparément. A chaque appel, il vous suffit de passer 1 paramètre :
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