在$mount函数中,主要是调用了mountComponent函数,而该函数最后主要是调用了updateComponent函数,
上一次我们分析了render函数的功能(主要是利用createElement函数生成vnode),那么_update函数主要做了什么
首先,可以看到在'src/core/instance/lifecycle.js'中在Vue原型上定义了私有方法_update,在整个函数中,最重要的部分是执执行__patch__函数。在初始换渲染的阶段,向__patch__函数中传入了四个参数值。
然后,看看__patch__函数的功能(主要是将vnode转换成dom,渲染在视图中)。patch定义在'src/platforms/wed/runtime/patch.js'中。
可以看到,最终的patch是一个createPatchFunction函数返回的函数(函数柯里化),同时传入了两个参数。nodeOps中是一些关于dom node(dom节点)的操作。modules中包含的是基础模块和平台模块,因为vue可以运行在不同的平台(web或者weex),因此这样做的好处是不用每次都去考虑不同平台如何处理。
<