<template> <div> <slot></slot> </div> </template>
<slot></slot>
à l'intérieur du composant, et appuyer sur Rendu séquentiellement. . <slot></slot>
标签中,并按顺序渲染出来。<my-component> <p>Hello, world!</p> </my-component>
<my-component>
标签内部添加了一个 <p>
标签,这个 <p>
标签将被传递到组件内部的 <slot></slot>
标签中,并渲染出来。<template> <div> <slot name="header"></slot> <div> <slot></slot> </div> <slot name="footer"></slot> </div> </template>
name="header"
和 name="footer"
为命名插槽,而无 name
属性的 <slot></slot>
标签为默认插槽。当我们在使用这个组件时,可以使用 v-slot
指令来指定某个插槽的内容,并向这个插槽传递 HTML 结构。<my-component> <template v-slot:header> <h1>This is the header</h1> </template> <p>Hello, world!</p> <template v-slot:footer> <footer>Footer</footer> </template> </my-component>
v-slot
指令指定了三个插槽的内容,可以看到,使用命名插槽可以大大提升组件的可读性和可维护性。<template> <div> <slot name="header"></slot> <div> <slot></slot> </div> <slot name="footer"></slot> </div> </template> <my-component>This is the header
<p>Hello, world!
#
来代替 v-slot:
,将 v-slot:name
简写成 #name
rrreeeLe code ci-dessus ajoute une balise <p>
à l'intérieur de la balise <my-component>
, ce <p>
Le sera transmise à la balise <slot></slot>
à l'intérieur du composant et rendue. Emplacements nommés<p>Lorsque nous utilisons plusieurs emplacements dans un composant, si nous utilisons tous les emplacements par défaut, ces emplacements seront rendus dans l'ordre, ce qui peut rendre notre code confus. Pour éviter cela, nous pouvons utiliser des emplacements nommés. 🎜🎜La différence entre les emplacements nommés et les emplacements par défaut est que lors de l'utilisation d'emplacements nommés, nous devons donner un nom à l'emplacement et spécifier ce nom lors du passage de la structure HTML. Voici un exemple de composant utilisant des slots nommés : 🎜rrreee🎜Le code ci-dessus définit trois slots, où name="header"
et name="footer"
est un nom nommé slot, et une balise <slot></slot>
sans attribut name
est l'emplacement par défaut. Lorsque nous utilisons ce composant, nous pouvons utiliser la directive v-slot
pour spécifier le contenu d'un slot et transmettre la structure HTML à ce slot. 🎜rrreee🎜Le code ci-dessus utilise la directive v-slot
pour spécifier le contenu de trois emplacements. Comme vous pouvez le voir, l'utilisation d'emplacements nommés peut grandement améliorer la lisibilité et la maintenabilité des composants. 🎜🎜Syntaxe abrégée🎜🎜Afin de simplifier davantage le code, Vue 2.6.0 a introduit une syntaxe abrégée : 🎜rrreee🎜Comme vous pouvez le voir, nous pouvons utiliser #
au lieu de v-slot :, abrégez <code>v-slot:name
en #name
, ce qui facilite l'écriture de code. 🎜🎜Résumé🎜🎜L'utilisation d'emplacements par défaut peut transmettre des structures HTML dans les composants, l'utilisation d'emplacements nommés peut rendre le code plus lisible et maintenable, et l'utilisation d'une syntaxe abrégée peut faciliter l'écriture de code. Maîtriser l'utilisation de v-slot nous permet d'organiser le code de manière plus flexible et d'améliorer l'efficacité du développement de projets et la qualité du code. 🎜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!