7.11 小结

我们在上一节的理论基础上深入分析了Vue如何利用data,computed构建响应式系统。响应式系统的核心是利用Object.defineProperty对数据的getter,setter进行拦截处理,处理的核心是在访问数据时对数据所在场景的依赖进行收集,在数据发生更改时,通知收集过的依赖进行更新。这一节我们详细的介绍了data,computed对响应式的处理,两者处理逻辑存在很大的相似性但却各有的特性。源码中会computed的计算结果进行缓存,避免了在多个地方使用时频繁重复计算的问题。由于篇幅有限,对于用户自定义的watcher我们会放到下一小节分析。文章还留有一个疑惑,依赖收集时如果遇到的数据是数组时应该怎么处理,这些疑惑都会在之后的文章一一解开。