在初始化时会合并 构造函数上定义的一些全局属性 和 new Vue()接受的options
vm.$options = mergeOptions(
resolveConstructorOptions(vm.constructor),
options || {},
vm
)
这个通过extend方法生成的基类 存有一份Vue.options的引用, 这里判断了是否修改了, 这样的场景有用到过吗?
关于这里的缓存 不怎么理解, 全局搜源码 就这里设置了一次Vue.cid 且值为0, 每次使用Vue.extend时接受的也是一个新对象, 这里是在缓存哪个构造函数呢
在global-api/index.js 中 , 在options中设置了一个属性指向构造函数本身
Vue.options._base = Vue
这样可以一直访问下去,虽然知道 window对象也可以一直.window 访问, 但是对这样写还是有点疑惑。
现在看Vue2.x版本的代码 会不会有一点 '落后了’呢? 源码内容很多,有些可能是相对没那么重要的,不用花费很多时间。 除了响应式系统, vnode这些 还有哪些内容是必看的?