Vue est un framework frontal populaire qui offre un moyen pratique de gérer et d'organiser les composants sur la page. Parmi eux, slot est une fonction très pratique de Vue, qui peut nous aider à distribuer dynamiquement du contenu dans des composants. Cet article expliquera comment utiliser les emplacements pour distribuer du contenu dans Vue et fournira des utilisations et précautions supplémentaires.
- Comment fonctionne le slot
Dans Vue, slot est utilisé pour fournir un emplacement pour un composant enfant dans le modèle de composant parent, afin que le composant enfant puisse directement insérer du contenu dans le modèle du composant parent. Lorsque vous utilisez des emplacements, vous ajoutez généralement la balise slot dans le modèle de composant parent et ajoutez des emplacements nommés et des emplacements par défaut dans le composant enfant.
L'emplacement par défaut est un emplacement sans nom, qui peut être utilisé pour insérer du contenu par défaut dans des sous-composants. Les emplacements par défaut sont définis à l'aide de l'espace réservé spécial 58cb293b8600657fad49ec2c8d37b472.
Les emplacements nommés sont définis via l'attribut name et vous pouvez spécifier l'emplacement nommé dans lequel le contenu doit être inséré dans le modèle de composant parent. Par exemple :
60ebb0c8ad40b2c9d7bb76b39d3ec87b
f83d88e8f85ba06872eba1bcadd9eb26
1b54d73e74b22f631033be1d0207faea
<h3>这是一个标题</h3>
21c97d3a051048b8e55e3c8f199a54b2
<p>这是一个底部</p>
21c97d3a051048b8e55e3c8f199a54b2
e388a4556c0f65e1904146cc1a846beeCeci est du contenu94b3e26ee717c64999d7867364b1b4a3
13b01f794c566c82cfbadbb090e5f686
c2a9c5f29789dd86158741d439d80960
d477f9ce7bf77f53fbcf36bec1b69b7a dc6dce4a544fdca2df29d5ac0ea9906b
<slot name="header"></slot>
<!-- 默认插槽 -->
<slot></slot>
<slot name="footer"></slot>
16b28748ea4df4d9c2150843fecfba68
21c97d3a051048b8e55e3c8f199a54b2
Dans cet exemple, le composant parent utilise des emplacements nommés pour spécifier la position de l'en-tête et du pied de page dans le modèle, et utilise également les emplacements par défaut. slot pour spécifier la position de l'élément p.
Utilisation de slot-
Dans Vue, slot a également des utilisations courantes, qui peuvent rendre notre code plus concis, flexible et puissant.
2.1 Emplacement par défaut exclusif
Parfois, nous pouvons souhaiter laisser les composants enfants occuper l'emplacement par défaut au lieu de distribuer le contenu au composant parent. Dans ce cas, nous pouvons utiliser la directive v-slot:default pour indiquer à Vue d'utiliser l'emplacement par défaut comme modèle pour le sous-composant. Par exemple :
60ebb0c8ad40b2c9d7bb76b39d3ec87b
f83d88e8f85ba06872eba1bcadd9eb26
6528afea30cac280f6d4e3447486256083153a5025b2246e72401680bb5dd683
8bd4fb756293648a9e237a05e201fa8a
d477f9ce7bf77f53fbcf36bec1b69b7a
e388a4556c0f65e1904146cc1a846beeIl s'agit d'un contenu inséré dans le composant parent94b3e26ee717c64999d7867364b1b4a3
21c97d3a051048b8e55e3c8f199a54b2
Dans cet exemple , nous spécifions l'emplacement par défaut comme modèle du composant enfant, obtenant ainsi l'effet "d'insérer le composant enfant dans le composant parent".
2.2 Scoped Slot
Parfois, nous pouvons vouloir accéder aux données du composant enfant dans le composant parent. Dans ce cas, nous pouvons utiliser le slot scoped pour transmettre les données du composant enfant au composant parent. Les emplacements de portée sont définis à l'aide de balises d'emplacement avec des paramètres, qui sont les données transmises par l'emplacement au composant parent. Par exemple :
60ebb0c8ad40b2c9d7bb76b39d3ec87b
f83d88e8f85ba06872eba1bcadd9eb26
91cdef52489e39baa15fb6058fd1c7e883153a5025b2246e72401680bb5dd683
< ; p>{{ slotProps.msg }}94b3e26ee717c64999d7867364b1b4a3
13b01f794c566c82cfbadbb090e5f686
c2a9c5f29789dd86158741d439d80960
d477f9ce7bf77f53fbcf36bec1b69b7a
267be443356634f7f4cd0399cd27ac10{{ item }}94b3e26ee717c64999d7867364b1b4a3
45bf9f42dca0f465af1e3a2ef88dce08
<p v-for="item in items" :key="item">{{ item }} - 处理后</p>
21c97d3a051048b8e55e3c8f199a54b2
9aef2673226c7cf7798f7b019dd771ab
Dans cet exemple, nous utilisons un nom d'emplacement nommé et utilisons la directive v-slot:name dans le composant parent pour recevoir les données slotProps transmises par le composant enfant. Dans le composant enfant, nous parcourons le tableau items, puis utilisons les emplacements de portée pour transmettre les données au composant parent. Dans le composant parent, nous utilisons {{ slotProps.msg }} pour accéder aux données transmises.
Remarques-
Lors de l'utilisation du slot, vous devez faire attention aux aspects suivants :
Le slot 3.1 ne peut avoir qu'un seul slot par défaut. Si vous devez définir plusieurs emplacements par défaut dans un composant, vous pouvez utiliser des emplacements nommés à la place.
3.2 Lors de l'utilisation d'emplacements, tout le contenu du modèle de composant parent doit être inclus dans l'emplacement, sinon Vue signalera une erreur.
3.3 Lorsque vous utilisez des emplacements de portée, vous devez faire attention aux conflits de noms. S'il existe des variables ou des méthodes portant le même nom dans les composants parent et enfant, des résultats imprévisibles peuvent se produire.
Résumé-
Dans Vue, slot est une fonction très utile qui peut nous aider à distribuer dynamiquement du contenu aux composants. En utilisant des emplacements nommés et des emplacements étendus, nous pouvons rendre nos composants plus flexibles et plus puissants. Lorsque vous utilisez des emplacements, vous devez faire attention à certaines précautions, par exemple, il ne peut y avoir qu'un seul emplacement par défaut. En bref, le slot est un mécanisme très important dans Vue, qui peut nous aider à gérer et organiser les composants de la page.
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!