vue 源码分析(1)-init

目录结构:

compiler 模板解析的相关文件

core 核心代码

 platforms 平台相关的内容

server 服务端渲染相关

sfc 对.vue文件解析,分成template,script,styles,customblocks,errors几部分

shared 共享的工具方法

vm从创建到显示:

创建vue对象,判断是否是通过new关键字添加(core/instance/index)

执行初始化方法(core/instance/init)

vm添加了一个唯一的_uid,然后vm._isVue设为true,_isComponent是内部创建子组件时才会添加为true的属性,内部initInternalComponent(vm, options),

else执行mergeOptions,该方法用于合并两个对象,resolveConstructorOptions方法在Vue.extend中做了详细的解释,它的作用是合并构造器及构造器父级上定义的options,给Vue添加了一些全局的属性或方法。

vue处理属性合并方法(core/util/options)

initLifecycle(vm):给对象添加钩子函数

initEvents(vm):初始化时间属性

initRender(vm):添加虚拟dom

initInjections(vm)和initProvide(vm):父子属性注入

initState(vm)初始化状态

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 使用Vue在日常开发中会频繁接触和使用生命周期,在官方文档中是这么解释生命周期的: 每个 Vue 实例在被创...
    心_c2a2阅读 6,771评论 1 8
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,904评论 1 32
  • 回忆 首先,render函数中手写h=>h(app),new Vue()实例初始化init()和原来一样。$mou...
    LoveBugs_King阅读 6,837评论 1 2
  • 下面我就来看看Vue的核心构造器以及其实例的属性和方法。 Vue构造器 从 'src/core/index.js'...
    小A家的铭阅读 8,190评论 0 0
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,485评论 0 29

友情链接更多精彩内容