自定义组件渲染函数错误:为什么 render 函数无法渲染自定义组件?
自定义组件渲染遇到的困难
当你尝试使用 render 函数渲染自定义组件时,可能遇到错误,导致页面无法渲染。这是为什么呢?
答案在于 h() 函数返回的实际上是一个 vnode 对象(虚拟 dom 节点),而并非字符串。在模板中使用 {{ someobject }} 会将该 vnode 序列化为字符串并显示。由于 vnode 对象内部包含循环引用,因此会导致错误。
要将 vnode 渲染到模板中,你需要使用
<template #status="{ row }"> <component :is="formatterStatus(row.status)" /> </template>
如果以上回答还不够清晰,请参考示例:
错误写法:
正确写法:
以上就是自定义组件渲染函数错误:为什么 render 函数无法渲染自定义组件?的详细内容,更多请关注硕下网其它相关文章!