- entry-runtime-with-compiler.js (打包入口文件)
- 扩展了 $mount 方法
const mount = Vue.property.$mount
- 扩展了 $mount 方法
- web/runtime/index.js
- 声明补丁函数patch (执行diff)
- 声明 $mount 方法 (得到要挂载的宿主元素==>执行挂载 mountComponent )
- src/core/index.js
- 初始化全局API (initGlobalAPI(Vue))
声明了 use,set,delete,component,nextTick 等方法
- 初始化全局API (initGlobalAPI(Vue))
- src/core/instance/index.js
- Vue 构造函数
- 执行 _init() 方法
- 实例方法的初始化
initMixin(Vue) // 混入 _init() '(向下关联init.js) stateMixin(Vue) // $set/$delete/$watch eventsMixin(Vue) // $emit/$on/$off/$onec lifecycleMixin(Vue) // $_update / $forceUpdate renderMixin(Vue) // $nextTick / _render
- Vue 构造函数
- src/core/instance/init.js
initLifecycle(vm) // $root / $parent / $children / $refs initEvent(vm) //event 在父组件创建,在子组件监听 initRender(vm) // slots/$createElement callHook => breforeCreate // 组件创建之前的钩子 initInjections(vm) // 先注入祖辈传递的数据(此时数据为空) initState(vm) //组件数据初始化 (包括:data/props/methods/computed/watch等) (向下关联 state.js) initProvide(vm) //后提取数据 callHook => created
- src/core/instance/state.js
initState() //进行了数据响应式处理
Vue源码解析-Vue初始化流程
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...