vue 2.x template模板里渲染vNode的实现方案

本文介绍了在Vue 2.x中如何在template模板内渲染vNode,通过创建组件并利用createElement API来实现。在实现过程中,遇到对象作为参数时会导致渲染失败的问题,解决方案是正确包裹vNode,避免Vue将对象识别为数据对象。文章通过示例代码和官方文档解释了这个问题及其解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

这两天我打算抽象一个简单的表格组件,需要将类似elementUI的table-column那样将插槽里的内容应用到cell里面,这时我就需要在模板里面渲染vNode了,由于之前我是参考elementUI实现表格组件的,这次只是简单实现,就没有给项目引入jsx(主要是想试试其他的实现,在工作之余找点乐趣。。)。也是在网上找了很久,网上倒是确实有方案,但好像讲得不是很浅显,至少我是差点漏过去了。

就这个如何在vue template里直接渲染vNode

在这里插入图片描述

感谢这个哥们,解决了我的问题,我这里其实也只是再将他的方案写的清晰一点而已。
话说,vue3都出来了,现在写这个估计也没有多少用了,想着就当是水一下文章也好也许恰好还是有人需要,毕竟也不是每个公司都马上就上vue3不是。。

方案

其实方式就是创建一个组件,将vnode当作参数传入,利用createElement api 渲染,或者说在render里面渲染。可以创局部变量,当然也可以抽离出一个render-dom组件。我的话是创建了局部变量,主要是感觉这种也不是很通用,再者那个参数的类型写得不是很好,基本就是报一个错补一个类型,( ╯□╰ ),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值