


Utiliser des emplacements pour transmettre des données du composant parent au composant enfant dans Vue.js
Cet article vous présentera comment utiliser les emplacements Vue pour transmettre des données des composants parents aux composants enfants dans Vue.js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Cet article convient aux développeurs de tous niveaux (y compris les débutants).
Avant de commencer
Vous aurez besoin des éléments suivants sur votre ordinateur :
Déjà installé Node.js version 10.x et supérieure. Vous pouvez vérifier la version en exécutant la commande suivante dans Terminal/Invite de commandes :
node -v
L'éditeur de code Visual Studio est recommandé
- La dernière version de Vue, installée globalement sur votre ordinateur
- Vue CLI 3.0 est installée sur votre ordinateur. Pour cela, désinstallez d'abord l'ancienne version CLI :
npm uninstall -g vue-cli
npm install -g @ vue / cli
- Téléchargez ici
- Décompressez le projet téléchargé
- Accédez au fichier décompressé et exécutez la commande pour garder toutes les dépendances à jour :
npm install
Que sont les machines à sous Vue ?
Vue slot est un élément de modèle Vue créé par l'équipe Vue pour fournir une plate-forme de distribution de contenu de modèle. Il s'agit d'une implémentation de l'API Content Distribution inspirée du projet de spécification des composants Web. À l'aide des emplacements Vue, vous pouvez transmettre ou distribuer du code HTML entre différents composants de votre projet.Pourquoi les machines à sous Vue sont-elles importantes ?
Slots contre accessoires
Si vous connaissez les machines à sous Vue, vous vous demandez peut-être si les accessoires et les machines à sous font la même chose. Eh bien, l'idée centrale de ces outils ou plateformes est d'encourager la réutilisabilité et l'efficacité des ressources. Dans cette optique, les machines à sous et les accessoires sont similaires. Props gère la transmission des objets de données entre les composants, tandis que slot gère la transmission du contenu du modèle (html) entre les composants. Cependant, les emplacements limités se comportent exactement comme des accessoires ; cela sera clairement expliqué dans ce didacticiel.Syntaxe des slots Vue
Pour les slots, votre sous-composant agit comme une interface ou une structure indiquant la façon dont vous souhaitez que votre contenu soit organisé. Cela pourrait ressembler à ceci :<template> <div> <slot></slot> </div> </template>
<Test> <h2>Hello World!</h2> </Test>
<template> <div> <h2>Hello World!</h2> </div> </template>
Démo
Si vous avez suivi cet article depuis le début, vous aurez le projet ouvert en vs code. Pour illustrer l'exemple simple de la section syntaxe, notre composant parent sera le fichier vue starter
. Ouvrez le fichier app.vue
et copiez dans ce bloc de code : app.vue
<template> <div id="app"> <img alt="Vue logo" src="./assets/logo.png"> <Test> <h2>Hello World!</h2> </Test> </div> </template> <script> import Test from './components/Test.vue' export default { name: 'app', components: { Test } } </script>
: test.vue
<template> <div> <slot></slot> </div> </template> <script> export default { name: 'Test' } </script>
npm run serve
Slots nommés
Vue permet à un composant d'avoir plusieurs emplacements, ce qui signifie Vous pouvez avoir n'importe quel nombre d'emplacements. Pour tester cette fonctionnalité, copiez ce nouveau bloc de code dans le fichier : test.vue
<template> <div> <slot></slot> <slot></slot> <slot></slot> </div> </template> <script> export default { name: 'Test' } </script>
est imprimé trois fois. Ainsi, si vous souhaitez ajouter plus de contenu (par exemple, un titre, un paragraphe avec du texte, puis une liste non ordonnée), Vue nous permet de nommer la portée afin qu'elle puisse identifier la portée spécifique à afficher. Nommez les slots dans le fichier hello world
comme suit : test.vue
<template> <div> <slot name="header"></slot> <slot name="paragraph"></slot> <slot name="links"></slot> </div> </template> <script> export default { name: 'Test' } </script>
: app.vue
<template> <div id="app"> <img alt="Vue logo" src="./assets/logo.png"> <Test> <h2 slot="header">Hello world!</h2> <p slot="paragraph">Hello, I am a paragraph text</p> <ul slot="links"> <li>Hello, I am a list item</li> <li>Hello, I am a list item</li> </ul> </Test> </div> </template>
syntaxe v-castle
Lorsque la version 2.6 de VUE est sortie, elle est arrivée avec Création d'une meilleure syntaxe pour référencer les noms d'emplacement dans les sous-composants nommés, ce qui impliquait le remplacement de la syntaxe d'emplacement initiale. Ainsi, au lieu de remplacer le modèle de composant parent par un emplacement comme celui-ci : v-slot
<Test> <h1 slot="header">Hello world!</h1> </Test>
<Test v-slot:header> <h1>Hello world!</h1> </Test>
注意,除了字符串从slot
到v-slot
的细微变化外,还有一个重大变化:v-slot
只能在模板上定义,而不能在任何html元素上定义。这是一个很大的变化,因为它质疑命名插槽的可用性,但截至本文撰写之时,插槽仍然是文档的很大一部分。
作用域插槽
设想一个场景,其中Vue插槽还可以从父组件访问子组件中的数据对象,这是一种具有道具功能的插槽。要说明这一点,请继续,通过将下面的代码块复制到test.vue
文件中,在子组件中创建一个数据对象:
<template> <div> <slot v-bind:team="team"></slot> <slot name="paragraph"></slot> <slot name="links"></slot> </div> </template> <script> export default { name: 'Test', data(){ return{ team:"FC Barcelona" } } } </script>
与普通props
一样,v-bind
指令用于将数据中的团队与父组件中的prop
引用绑定。打开app.vue
文件并将下面的代码块复制到模板部分:
<template> <div id="app"> <img alt="Vue logo" src="./assets/logo.png"> <Test v-slot="{team}"> <h2>Hello world! my team is {{team}}</h2> </Test> </div> </template>
如果运行应用程序,您将看到数据对象已成功传递到父组件。
结论
本文向您介绍了vue.js中的插槽,以及它们对内容注入的重要性。您看到了如何设置它,甚至看到了如何为一个组件设置多个插槽。你还看到了狭槽如何通过作用域来充当道具。
英文原文地址:https://blog.logrocket.com/how-to-pass-html-content-through-components-with-vue-slots/
相关推荐:
更多编程相关知识,请访问:编程入门!!
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)

Lorsque nous utilisons le framework Vue pour développer des projets front-end, nous déploierons plusieurs environnements lors du déploiement. Souvent, les noms de domaine d'interface appelés par les environnements de développement, de test et en ligne sont différents. Comment peut-on faire la distinction ? Cela utilise des variables et des modèles d'environnement.

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal de l'IDE Cloud9 et est le successeur du projet Mozilla Skywriter (Bespin).

Avant-propos : Dans le développement de vue3, réactif fournit une méthode pour implémenter des données réactives. Il s'agit d'une API fréquemment utilisée dans le développement quotidien. Dans cet article, l’auteur explorera son mécanisme de fonctionnement interne.

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

Dans Vue.js, les développeurs peuvent utiliser deux syntaxes différentes pour créer des interfaces utilisateur : la syntaxe JSX et la syntaxe des modèles. Les deux syntaxes ont leurs propres avantages et inconvénients. Discutons de leurs différences, avantages et inconvénients.

Dans le processus de développement réel du projet, il est parfois nécessaire de télécharger des fichiers relativement volumineux, puis le téléchargement sera relativement lent, de sorte que l'arrière-plan peut nécessiter que le front-end télécharge des tranches de fichiers. Par exemple, 1 A. Le flux de fichiers de gigaoctets est découpé en plusieurs petits flux de fichiers, puis l'interface est invitée à fournir respectivement les petits flux de fichiers.

Depuis la sortie de Vue3, l'API de composition de mots est entrée dans le champ de vision des étudiants qui écrivent Vue. Je pense que tout le monde a toujours entendu à quel point l'API de composition est meilleure que l'API d'options précédente, grâce à la sortie de @. plug-in vue/composition-api, Vue2 Les étudiants peuvent également monter dans le bus. Ensuite, nous utiliserons principalement responsive ref et reactive pour effectuer une analyse approfondie de la façon dont ce plug-in y parvient.

Lorsque nous avons utilisé Amap, le responsable nous a recommandé de nombreux cas et démos, mais ces cas utilisaient tous des méthodes natives d'accès et ne fournissaient pas de démos de vue ou de réaction. Cependant, dans cet article, de nombreuses personnes ont écrit sur l'accès à vue2. , nous verrons comment vue3 utilise l'API Amap couramment utilisée. J'espère que cela sera utile à tout le monde !
