在 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 提供的新特性。