大致的流程图,当然只有图并不易懂
当组件被初次渲染
第一步 从Vue的模板语法 ————> render函数
解释为什么需要render函数: template模板语法 里不仅仅有html语句,有命令,插值语法,判断,循环。 所以需要js语句来实现这些功能。
第二步 render函数生成 ——————> Vnode(虚拟节点)
在这里用到了with语法, 这里不详细说,可以深入理解一下 template。
第三步 Vnode——————> 真实节点
*以上看起来很简单,复杂在于非初次渲染的情况*
仔细想想当不是初次渲染的情况和以上有什么区别
我们都知道Vue的响应式原理(观察订阅者模式,实现数据劫持,双向绑定)
那么 data (或props)被改变时,由于插值语法理所当然组件会被再次渲染