如何在父组件中使用动态组件的命名槽?
滑块组件采用动态幻灯片组件数组:
<slider :slides="slides" />
每张幻灯片都有一个名为的插槽,其中包含滑块使用的内容:
<template>
<div class="slide">
<div slot="main">Slide 1 Main</div>
<div slot="meta">Slide 1 Meta</div>
</div>
</template>
滑块现在应该使用这些插槽,如下所示:
<template>
<div class="slider">
<div class="slider__slide" v-for="slide in slides">
<component :is="slide">
<div class="slider__slide__main">
<slot name="main" /><!-- show content from child's slot "main" -->
</div>
<div class="slider__slide__meta">
<slot name="meta" /><!-- show content from child's slot "meta" -->
</div>
</component>
</div>
</div>
</template>
但是 <component>
忽略了它的内部内容,因此忽略了插槽 .
例:
https://codepen.io/anon/pen/WZjENK?editors=1010
如果这是不可能的,还有另一种方法来创建一个从幻灯片组件中获取HTML内容而不关心其内容的滑块吗?
1 回答
通过将main / meta部分拆分为自己的组件,您可以相对轻松地使用渲染功能将它们分割成您想要的部分 .