Vuejs2 VueJs:将动态组件作为道具传递给另一个组件并渲染它们
我正在尝试构建一个表组件 我想定义网格的列元数据并将其作为数组属性传递,同时将实际数据作为另一个属性传递给网格 我能够做到这一点,没有很多问题 但是,现在我想将一个动态组件作为每个列定义的一部分传递给用户,以便用户可以定义/控制单元格的呈现方式(同一单元格中具有编辑-删除按钮的内容等) 是否有方法将动态组件作为道具传递,然后渲染该组件Vuejs2 VueJs:将动态组件作为道具传递给另一个组件并渲染它们,vuejs2,vue-component,Vuejs2,Vue Component,我正在尝试构建一个表组件 我想定义网格的列元数据并将其作为数组属性传递,同时将实际数据作为另一个属性传递给网格 我能够做到这一点,没有很多问题 但是,现在我想将一个动态组件作为每个列定义的一部分传递给用户,以便用户可以定义/控制单元格的呈现方式(同一单元格中具有编辑-删除按钮的内容等) 是否有方法将动态组件作为道具传递,然后渲染该组件 <parent-comp> <tr class="" v-for="result in dataSource"> <te
<parent-comp>
<tr class="" v-for="result in dataSource">
<template v-for="column in columns">
<td>
<template v-if="column.customComponent">
######## How do I render this customComponent ########
</template>
</td>
</template>
</tr>
</parent-comp>
如果上面的问题不清楚,我们很乐意对此进行详细说明/澄清。正如上面评论中所建议的,您可以在模板中使用动态组件,并在您的属性中传递组件的定义
console.clear()
常数列一={
模版:`我是第一个`
}
常数列二={
模版:“我两岁`
}
Vue.组件(“父组件”{
道具:[“栏目”],
模板:`
`
})
新Vue({
el:“应用程序”,
数据:{
栏目:[{
名字:“某物”,
自定义组件:ColumnOne
}, {
名称:“另一件事”,
自定义组件:第二列
}]
}
})
@thanksd谢谢你,但是在我的情况下,我不知道哪些组件将传递给母公司,以便在组件
属性中列出组件。如果通过组件定义,你不必这样做。这是最后一次出现。如果他需要传递道具,他可以这样做:
[
columns: [{
name: "something",
customComponent: SomeCustomComponent
}, {
name: "another thing",
customComponent: AnotherOtherCustomComponent
}]
]