在 Vue 3.x 中,您还可以使用 #
简写来代替 v-slot
v-slot:
-
v-slot
是 Vue 2.6+ 和 Vue 3.x 推荐的新的插槽语法。 -
v-slot
用于具名插槽,它允许您为插槽指定名称,并允许您传递具名插槽的内容。 -
例如,以下是使用
v-slot
定义的具名插槽:
<template>
<div>
<slot name="header"></slot>
<slot name="footer"></slot>
</div>
</template>
在父组件中使用:
<template>
<MyComponent>
<template v-slot:header>
<!-- 这里是 header 插槽的内容 -->
</template>
<template v-slot:footer>
<!-- 这里是 footer 插槽的内容 -->
</template>
</MyComponent>
</template>
在 Vue 3.x 中,可以使用 #
简写来代替 v-slot
:
<template>
<MyComponent>
<template #header>
<!-- 这里是 header 插槽的内容 -->
</template>
<template #footer>
<!-- 这里是 footer 插槽的内容 -->
</template>
</MyComponent>
</template>
总之,虽然 #default
和 v-slot
都是用于定义插槽,但是推荐使用 v-slot
或其简写 #
来定义具名插槽,以便更清晰地表达代码意图,并且能够充分利用 Vue 3.x 提供的新特性。