Vue初始化过程

Vue 的初始化过程(new Vue(options))都做了什么?

  • 处理组件配置项

初始化根组件时进行了选项合并操作,将全局配置合并到根组件的局部配置上

初始化每个子组件时做了一些性能优化,将组件配置对象上的一些深层次属性放到 vm.$options 选项中,以提高代码的执行效率;【打平组件配置项,减少原型链的动态查找,提高执行效率】

  • 初始化组件实例的关系属性,比如 children、refs 等
  • 处理自定义事件
  • 调用 beforeCreate 钩子函数
  • 初始化组件的 inject 配置项,得到 ret[key] = val 形式的配置对象,然后对该配置对象进行响应式处理,并代理每个 key 到 vm 实例上
  • 数据响应式,处理 props、methods、data、computed、watch 等选项
  • 解析组件配置项上的 provide 对象,将其挂载到 vm._provided 属性上
  • 调用 created 钩子函数
  • 如果发现配置项上有 el 选项,则自动调用 mount 方法,反之,没提供 el 选项则必须调用 $mount
  • 接下来则进入挂载阶段

你可能感兴趣的:(Vue初始化过程)