Comment travailler avec des slots dans Svelte pour définir des composants qui peuvent être composés ensemble
Les slots sont un moyen pratique de définir des composants qui peuvent être composés ensemble.
Et vice versa, selon votre point de vue, les slots sont un moyen pratique de configurer un composant que vous importez.
Voici comment ils fonctionnent.
Dans un composant, vous pouvez définir un emplacement à l'aide du<slot />
(ou<slot></slot>
) syntaxe.
Voici unButton.svelte
composant qui imprime simplement un<button>
Balise HTML:
<button><slot /></button>
Pour les développeurs React, c'est fondamentalement la même chose que
<button>{props.children}</button>
Tout composant qui l'importe peut définir le contenu qui va être placé dans l'emplacement en l'ajoutant aux balises d'ouverture et de fermeture du composant:
<script>
import Button from './Button.svelte'
</script>
<Button>Insert this into the slot</Button>
Vous pouvez définir une valeur par défaut, qui est utilisée si l'emplacement n'est pas rempli:
<button>
<slot>
Default text for the button
</slot>
</button>
Vous pouvez avoir plusieurs emplacements dans un composant et vous pouvez les distinguer l'un de l'autre à l'aide d'emplacements nommés. L'emplacement unique sans nom sera celui par défaut:
<slot name="before" />
<button>
<slot />
</button>
<slot name="after" />
Voici comment vous l'utiliseriez:
<script>
import Button from './Button.svelte'
</script>
<Button>
Insert this into the slot
<p slot=“before”>Add this before</p>
<p slot=“after”>Add this after</p>
</Button>
Et cela rendrait ce qui suit au DOM:
<p slot="before">Add this before</p>
<button>
Insert this into the slot
</button>
<p slot="after">Add this after</p>
Téléchargez mon gratuitManuel de Svelte
Plus de tutoriels sveltes:
- Premiers pas avec Svelte - un court tutoriel
- Comment travailler avec des accessoires dans Svelte
- Comment importer des composants dans Svelte
- Comment exporter des fonctions et des variables à partir d'un composant Svelte
- Modèles Svelte: logique conditionnelle
- Comment renvoyer un composant Svelte à la demande
- Machines à sous Svelte
- Comment ajouter des commentaires dans les modèles Svelte
- Fixations Svelte
- Gestion des mises à jour d'état dans Svelte
- Déclarations réactives dans Svelte
- Événements du cycle de vie Svelte
- Modèles Svelte: boucles
- Résoudre les promesses dans les modèles Svelte
- Travailler avec des événements dans Svelte
- Gestion des états inter-composants dans Svelte
- Comment accéder à un paramètre d'URL dans Sapper en dehors du module de script
- Comment appliquer dynamiquement CSS dans Svelte
- Comment rediriger vers une URL dans Sapper
- Comment simuler une boucle for dans les modèles Svelte