Vnode
VNode 是 VDOM 中的概念,是真实 DOM 元素的简化版,与真实 DOM 元素是一一对应的关系。
1 | constructor { |
上一节中我们得到了render function (渲染函数)他的运行结果就是Vnode
render function
大家可以使用 Vue.compile(template) 方法编译下面这段模板:
1 | <div id="app"> |
方法会返回一个对象,对象中有 render 和 staticRenderFns 两个值。看一下生成的 render function :
1 | (function() { |
查看initRender函数(src/core/instance/render.js)可见
1 | // 将createElement fn绑定到此实例,以便在其中获得适当的渲染上下文。 |
接下来我看createElement
1 | export function createElement ( |
1 | export function _createElement ( |
render函数的执行,调用了createElement方法,其内部通过传入的相关参数,根据不同类型,一步步解析出了VNode。