微小版vue
知道vue
双向绑定原理为Object.defineProperty
和发布·订阅
模式,
依据这两个条件自己摸索写出自己理解中的vue
,后续版本会依照vue
源码做比对并修改,
通过先做后对比的模式更好理解vue
原理
对比vue代码后,发现vue的依赖收集是放在响应式数据的get方法内,当获取数据时会将所需的依赖收集, 这对于渲染函数和计算属性都很容易将观察者放进dep中
目前版本是单独在需要收集依赖的地方手动收集,导致渲染函数需要手动的收集依赖,并且重要的是,computed中 不能很好的实现收集依赖,需要正则匹配是否是响应式数据