vue3同一slot在组件中渲染多次
时间: 2023-11-25 12:19:47 浏览: 162
解决vue同一slot在组件中渲染多次的问题
在 Vue 3 中,同一组件中需要多次使用同一个 slot,可以使用 `v-for` 来生成多个 slot。例如:
在父组件中定义 slot:
```html
<template>
<div>
<child v-for="n in 2" :key="n">
<template v-slot:header>
<h1>Header for child {{ n }}</h1>
</template>
</child>
</div>
</template>
```
在子组件中接收 slot:
```html
<template>
<div>
<slot name="header"></slot>
<slot name="content"></slot>
</div>
</template>
```
这样,我们就可以通过 `v-for` 来生成多个包含相同名称的 slot,并在子组件中接收它们。
阅读全文