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
  }]
]