先进行语义解析各种vue命令生成模板语法树,再根据模板语法树使用createRender函数(render函数可使用自己定义的)创建render函数,在创建的同时使用闭包(函数柯里化)将模板语法树缓存起来,然后render函数结合data生成虚拟dom树,最后使用update方法根据diff规则将新的vnode替换旧的vnode(如果是相同id的新旧vnode比较,先遍历旧vnode所有属性,再遍历新vnode所有属性,然后进行属性补全)
vue2通过修改Array实例的__proto__重写了push等方法来实现数组的响应式
标签:vue,函数,render,vnode,语法,源码,解析,模板 From: https://www.cnblogs.com/jiangxiaoxi/p/16549703.html