前言
本篇文章仅记录着个人初看vue源码的粗浅立即
一、 Vue 首次渲染的过程
1.vue初始化它的实例成员和静态成员
2.在初始化结束的时候调用vue的构造函数new Vue()
3.在构造函数中调用this._init()这个函数,这个函数是整个vue的入口
4.在_init函数中调用了vm. m o u n t , 这 个 mount,这个 mount,这个mount在src\platforms\web\entry-runtime-with-compiler.js中,首先判断是否传入
render函数,如果没有会获取template选项,如果template还没有,会把el中的内容作为模板,把模板编译成render函数,
通过compileFunction()函数生成render()渲染函数,然后把render函数存入到options选项中 options.render=render
5.然后调用src\platforms\web\runtime\index.js下的KaTeX parse error: Undefined control sequence: \core at position 110: …(this,el)函数在src\̲c̲o̲r̲e̲\instance\liftc…createElement),调用用户实例化Vue传入的render()或者编译template生成的render(),
当render()执行完后,返回生成的VNode(虚拟dom),然后调用vm._update(vnode,…),_update方法调用了vm.patch(vm.