[Vue2.x源码分析]new Vue时发生了什么?
𝙸𝚜𝙻𝚊𝚗𝚍 6月18日 21 0 0 21 0 0

从上一小节我们得知,Vue的最内层代码其实位于 core/instance/index.js

可以看 Vue 实际上是一个函数,主要保证只能通过 new 的方式来进行初始化,然后调用 _init 方法并传入 new Vue 时我们写的 options。之所以用这种 es5 的方式来写Vue,主要是Vue的代码逻辑很多,放在一个类里确实也不太好看。

_init 方法从何而来?

看上面的代码我们知道,引入 Vue 的时候就会进行一系列的 Mixin

initMixin 这个方法就在 Vue 的原型上挂载了 _init 方法

这个函数主要合并了配置 mergeOptions、初始化了生命周期、事件、 Render、调用 beforeCreate钩子、初始化 InjectionsStateProvide、调用 created钩子。并且检测是否有在 options 中配置了 el 属性,如果有则将其生成的 DOM 插入到到 el 所指向的节点。

扫码分享到移动端
0 条评论
快来写一写读后感吧~
参与评论互动
登录即可参与评论互动哦