问题描述
在vue中使用<component :is="dynamicComponent" />
时,有时候会报错Cannot read property '$createElement' of undefined
,导致组件无法渲染.该报错内容十分晦涩,根据报错及debugger堆栈根本找不到有用信息
解决方案
经过我的调试分析,确认原因一般时是由于没有找到组件,通常是由于组件注册名字不正确,例如大小写错误,拼写错误等等情况
在vue中使用component动态组件,必须保持组件注册的名称要与is
属性传入的名字一致
请参考以下示例
<template>
<div>
<!--错误例子,会报错-->
<component is='dynamicComponent' />
<!--错误例子-->
<!--正确例子-->
<component is='DynamicComponent' />
<!--正确例子-->
</div>
</template>
<script>
export default {
components: {
DynamicComponent,
}
}
</script>
如果该文章对您有帮助,请点赞,谢谢!~