new Vue()的过程
Vue: [email protected]
'core/instance/index'
,定义Vue
initMixin
给Vue的原型定义_init
_init
属性的初始化mergeOptions
合并参数initLifecycle
初始化挂载生命周期相关属性initEvents
初始事件相关属性,当父组件绑定到子组件时,供子组件调用initRender
初始化slot插槽callHook(vm, 'beforeCreate')
生命周期调用initState
初始化data/method/computed/watchinitProvide
初始化providecallHook(vm, 'created')
created生命周期调用$mount
调用mountComponent
stateMixin
初始化dataDef,propsDef的get方法Vue.prototype.$set = set
挂载全局$set方法Vue.prototype.$delete = del
挂载全局$delete方法Vue.prototype.$watch
挂载全局$watch方法,createWatcher
eventsMixin
初始化eventbus, 挂载$on, $once, $emit, $off
方法lifecycleMixin
初始化生命周期相关Vue.prototype._update
打补丁__patch__,更新数据Vue.prototype.$forceUpdate
Vue 实例重新渲染方法Vue.prototype.$destroy
销毁mountComponent
挂载组件- 编译template成render函数
callHook(vm, 'beforeMount')
触发生命周期钩子new Watcher(vm, updateComponent)
监听vm,如果已经挂载且未销毁组件,则会触发钩子callHook(vm, 'beforeUpdate')
updateComponent
更新数据,调用_update
callHook(vm, 'mounted')
更新完毕数据后,触发生命周期钩子
renderMixin
渲染DOM相关Vue.prototype.$nextTick
初始化nextTick方法Vue.prototype._render
render方法
生命周期