1 初始化data
- data可能是函数(组件形式要求是一个函数,返回值是一个对象)或者 普通对象,并且找到props和methods
- 遍历data的key值,跟props和methods比对,不能存在to同名,因为最后都会代理到vm实例上。
- 代理data属性到vue实例上,这样vm.xx === vm._data.xx
使用Object.defineProperty 实现代理
2 DOM挂载-mount
1 不存在render函数,则先寻找template,如果还没有,则寻找el,至少找到一个配置,并作为模板
2 然后comlieToFunction编译为render/staticRenderFns,并挂载到配置options上