初次渲染过程
- 解析模板为render函数(或在开发环境,vue-loader)
- 触发响应式,监听data属性的getter,setter
- 执行render函数,生成vnode,patch(elem,vnode)
更新过程
1.修改了data,触发了setter
2.重新执行render函数,生成newVnode
3.在执行patch(vnode,newVnode)
模板编译生成一个render函数,执行render生成一个Vnode节点, 会Touch data中的getter, 触发getter之后会去收集依赖,把这个data的变量变成一个响应式数据观察起来,一旦修改这个变量则会触发setter通知这个Watcher,在重新触发这个re-render。