【发布时间】:2020-12-17 12:16:56
【问题描述】:
我在文档中看到您可以在 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
知道这怎么可能吗?
【问题讨论】:
标签: vue.js vuejs2 vue-component vue-class-components