我正在尝试从渲染函数渲染单个文件Vue组件,但它没有被创建。我尝试过类似的变体:
// simple.vue
<template>
...
</template>
<script>
...
</script>
// parent.vue
<script>
import Simple from
export default {
name: "parentComponent",
render: function (h) {
return h(
"div",
null,
Simple // [Simple], Vue.component(Simple)
}
}
</script>
如何从渲染函数构建Vue组件?如果它有所作为我也在使用哈巴狗。
答案 0 :(得分:1)
如果我理解正确,您只需要渲染可以从渲染函数写为单个文件组件的组件。这很容易做到。
假设我有以下单个文件组件。
<强> Child.vue 强>
<template>
<h1>This is the Child component</h1>
</template>
我想从使用渲染功能的组件中渲染它。这是一个例子。
<强> Parent.js 强>
import Child from "./Child.vue"
export default {
render(h){
return h("div", ["Text in Parent", h(Child)])
},
components: {Child}
}
需要注意的重要部分是,当您想要渲染组件时,只需将组件定义作为createElement
函数的第一个参数传递(上面别名为h
)。这就是@Phil在评论中指出的内容。 h(Child)
创建一个子组件。从技术上讲,它创建了一个虚拟节点,Vue用它来渲染组件的实例。
所有这些都很好地涵盖了in the documentation。