【发布时间】:2019-11-08 21:25:09
【问题描述】:
我有一个使用 v-for 的子组件。我希望能够让父级传递一个插槽,或者类似于它希望 v-for 显示中的每个项目的方式。但是,问题在于父级在渲染时无法访问 v-for 中的每个单独项目。
我尝试过的一些事情是传递一个带有特定键的插槽。例如
<child-comp :items="items">
<div v-text="item.text" slot="body"/>
</child-comp>
我正在尝试的基本代码可能看起来像这样(尽管它不起作用)
父组件看起来像
<template>
<child-comp :items="items>
<div v-text="item.text"
</child-comp>
</template>
items = [{ text: 'hello'}]
孩子看起来像这样
<template>
<div>
<span v-for="item in items">
<slot></slot>
</span>
</div>
</template>
请注意,这必须是动态的,因为一个项目可能会做 v-text,另一个可能会做一些事情,比如添加更多的 html,例如图像,而另一个项目可能会做一些完全不同的事情。
【问题讨论】:
标签: vue.js dynamic components v-for