我们编写的代码转化为真正的
dom
时,首先会先转换为VNode
,然后多个Vnode
进行结合起来转化为VDOM
,最后VDOM
才渲染成真实的DOM
,此时我们思考一个问题,如果我们直接编写生成vnode
的代码,效率会更高,这里我们就是h()
函数。h函数
我们也可以称为createVnode
函数。一、参数设置
h函数
接收三个参数。第一个参数:
,可以为一个html标签,一个组件,一个异步组件,或者是一个函数式组件。第二个参数
:{ Object } Props,与attributes和props,以及事件对应的对象,我们可以在模板中使用,如果没有需要传入的属性,可以设置为null。第三个参数
:{String | Object |Array}可以是字符串Text文本或者是h函数构建的对象再者可以是有插槽的对象。二、基本使用
在options api中使用h函数

在composition api中使用h函数

下面为使用
options api
和componsiton api
分别实现的计数器案例
如何在h函数中使用插槽?
