为什么渲染自定义组件时出现报错,页面也无法正常加载?
在使用 vue.js 中的 render 函数渲染自定义组件时,可能会遇到以下报错:
vue.runtime.esm.js?2b0e:1846 typeerror: h() returns a vnode object, but you passed it to stringify.登录后复制
页面也会因此无法正常渲染。这是因为:
- h() 返回的是一个虚拟 dom (vnode) 对象,而不是字符串。
- 在 {{ }} 中输出 vnode 对象会将其序列化为字符串,导致内部包含的循环引用出错。
为了正确渲染 vnode 对象到模板中,需要使用
<template #status="{ row }"> <component :is="formatterstatus(row.status)" /> </template>登录后复制
例如:
错误的写法:
{{ formatterstatus(row.status) }}登录后复制
正确的写法:
<component :is="formatterStatus(row.status)" />登录后复制
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6678.html