我在文档中看到您可以在 VueComponent 中拥有一个动态组件,如下所示:
<component :is="componentName" v-bind="componentProps" @custom-event="doSomething" />
我试图在动态呈现的组件中包含这些动态组件之一(使用render()
函数,而不是 HTML 模板)。没有太多希望,我试过这个:
render(createElement: CreateElement) {
return createElement('component', props: {
'is': 'TestComponent'
});
}
但我得到了
[Vue warn]: Unknown custom element: <component> - did you register the component correctly?
因此,再次,不要太期待奇迹,我尝试将其导入Component
并声明为组件:
@Component({
components: {
Component,
TestComponent
}
})
export default class DynamicThingy extends Vue {
render(createElement: CreateElement): VNode {
return createElement('Component', {
props: {
'is': 'TestComponent'
}
});
}
}
但后来我得到
[Vue warn]: Do not use built-in or reserved HTML elements as component id: Component
知道这怎么可能吗?