vue.js - VueJS在带有createElement的渲染函数中使用VNode?
问题描述
我正在尝试在我的渲染函数中渲染一个 Vnode。以这样一种方式,我仍然可以给那个元素孩子。我知道你可以有一个 Vnodes 数组作为 createElement(tag, data, vnode[]) 的第三个参数,但是因为我想给这个特定的 Vnode 子节点,所以我似乎有点卡住了,
我试过做类似的事情:
const vnodeObj = {tag: vnode.tag, data: vnode.data}
//跳到内部渲染函数 createElement(vnodeObj.tag, vnodeObj.data, [])。
哪个可以很好地创建标签,但我发现从 Vnode.data 返回的数据对象与 createElement 期望的数据对象不同,例如:
如果我要使用创建元素向元素添加类“test”和引用“test2”,则数据对象将如下所示:
{
attrs: { class: "test", ref: "test2"},
}
而 Vnode.data 将返回如下内容:
{
"ref":"test2",
"staticClass":"test"
}
让我相信必须有更好的方法来渲染单个 Vnode 及其数据并继续使用 createElement 为其提供子节点。
解决方案
推荐阅读
- javascript - 如何使用 JavaScript 修改 HTML 元素的不透明度
- python - 列表中的快速正则表达式匹配
- python - 是否可以让 algorithm.eaSimple 返回包含运行时所有统计信息的日志?
- r - 在r中绘制sum函数图的问题
- ruby-on-rails - Rails:由于缺少变量,资产未在 Capistrano 部署步骤上预编译
- r - RStudio 继续加载没有文件的先前会话并且不会运行命令
- sql - SQL 命令未正确结束错误:错误:ORA-00933
- rust - 如何通过 wasm-pack 将 Rust Wasm 应用程序与 libpq 链接?
- javascript - 从复杂的 json 结构中获取最后一个子节点,并仅重构 javascript 中的最后一个节点
- java - Spring Boot + Maven + Docker + IntelliJ 的开发工作流程