平常使用插槽
例如如下组件:
<template>
<!-- 名为Button的模板组件 -->
<button>
<slot />
</button>
</template>
使用Button组件:
<template>
<Button>
你好
</Button>
</template>
那么页面就会渲染这个内容为“你好”的按钮!
具名插槽 v-slot
一个场景,假如Button组件有多个<solt/>
,那么我使用这个组件时怎么准确的为每个<slot/>
渲染内容?
那么就需要v-slot
,如下使用:
<template>
<!-- 名为Button的模板组件 -->
<button>
<!-- 这里我希望的内容为“你好” -->
<slot name="jeff1"/>
</button>
<button>
<!-- 这里我希望的内容为“世界” -->
<slot name="jeff2"/>
</button>
<button>
<!-- 这里我希望的内容为“Vue3” -->
<slot name="jeff3"/>
</button>
</template>
然后使用该组件就需要如下使用:
<template>
<Button>
<template v-solt="jeff1">
你好
</template>
<template v-solt="jeff2">
世界
</template>
<template v-solt="jeff3">
Vue3
</template>
</Button>
</template>
那么就会依次准确渲染!