Vue初始化开篇
1.用于初始化的最终选项 $options
1)自定义选项以及自定义选项合并策略
自定义选项的用处??
vm.$options结果截图
我们发现 el 确实还是原来的值,而 data 也确实变成了一个函数,并且这个函数就是我们之前遇到过的 mergedInstanceDataFn,除此之外我们还能看到其他合并后的选项,其中 components、directives、filters 以及 _base 是存在于 Vue.options 中的,这些是我们所知道的,至于 render 和 staticRenderFns 这两个选项是在将模板编译成渲染函数时添加上去的,我们后面会遇到。另外 _parentElm 和 _refElm 这两个选项是在为虚拟DOM创建组件实例时添加的,我们后面也会讲到,这里大家不需要关心,免得失去重点。
2.渲染函数的作用域代理
生产环境和非生产环境下要保持功能一致 ,所以initProxy 函数的作用之一必然也是在实例对象 vm 上添加 _renderProxy 属性
如果宿主环境支持 js 原生的 Proxy 特性,那就通过原生Proxy实现对vm的代理,目的:
es6 Proxy内容,拦截改写get,set,has等方法
拦截with语句块里对变量的访问???