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

背景

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

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

在这里插入图片描述

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

方案

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值