详细源码解析可参考文章
文章中需要注意重点
1.vue初始化,主要是_init方法,然后里面就是下面这些
2.响应式相关
initState
3.render函数生成
4.update就是执行patch过程,diff,最终搞成真实dom
3/4注意点:
vm.render就是使用templete生成的render函数,也可以自己写render函数,也可以使用模板让vue生成render函数,这里解耦了,有机会可以看下render函数生成原理,这个函数最终生成了vnode虚拟dom,里面data等信息已经写入了
vm.update函数就是利用新生成的虚拟dom和现有的虚拟dom 对比,进行替换更新,这里涉及diff算法