最近在解析vue源码,后期会不断更新有兴趣的可以关注我的博客
关注我的博客:zane的个人博客
Vue双向数据绑定的核心和基础api是Object.defineProperty,其内部真正参与数据双向绑定流程的主要有Obderver、Dep和Watcher,基于defineProperty和发布者订阅者模式,最终实现数据的双向绑定。那么Obderver、Dep和Watcher是如何具体配合工作的呢?下面就来理一理。
看此文章之前你需要对vue的双向数据绑定有一定的理解。若不了解可移步:vue.js源码解读系列 - 双向绑定具体如何初始化和工作
看到这里就当你对双向数据绑定已经有一定的理解:
提示:要看懂此篇文章你需要对vue的mvvm有一定的了解,并需要和专注的去理解,或者对照源码跟着走,不然就很难真的看懂。
在这里把双向数据绑定分为两个流程:
1、收集依赖流程:
observe ->
walk ->
defineReactive ->
get ->
dep