vue源码阅读(一)
vue初始化流程图
描述
下面的代码分析是从vue1.0开始的
vue的入口文件位于 src/index.md
流程图如下:
初始化流程
创建Vue对象时,先调用_init方法,完成以下功能
进行一些属性的初始化,将自己加入父对象中,初始化data对象,初始化state,初始化event,
调用created事件,绑定元素到dom上。初始化sate
调用_initState方法, 将元信息属性设置成响应式对象,比如$index,$key,$value;将methods下的
各个方法绑定到当前vue对象中。将data中各个属性转变成可以观察的对象。computed中的各个对象或者
函数,绑定到当前this对象下,并且computed中的各个属性字段,调用get方法中,执行依赖传递,值的更新。初始化event
将option.events中的对象放到vm.$on对象下;将option.watch下的对象放到vm.$watch对象下。
执行created事件
调用$mount方法
$mount方法定义在lifecycle.js中。如果当前optiony对象有el,则执行mount方法。
参考链接
Compile - 源码属性解析(https://cloud.tencent.com/developer/article/1479372)
vue元素挂载
接着上一页,看看vue在执行mount方法时,都做了下面事。
下面是mount方法的实现内容:
- 先通过query方法得到el在DOM结构中的元素对象。如果发现对象是空的,就单独创建一个div元素,做为要挂载的节点。
- 执行compile方法,
- 本文作者:
- 本文标题: vue源码阅读(一)
- 本文链接: https://lvyong.github.io/2019/08/29/learn-vue-01/
- 发布时间: 2019年8月29日 - 23时08分
- 版权声明: 本文由 原创,采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议 转载请保留以上声明信息!