搬砖人回答
vue是通过object.defineproperty get获得数据 set修改数据
大厂面试官(技术大佬)
学习源码 第一次囫囵吞枣 ,第二次懵懵懂懂,第三次茅塞顿开,第四次石破天惊!所以免不了时间的沉淀。大多数人都不是科比和梅西
对源码进行debug,然后画流程图。
首先 init一个data 如果不是对象就不往下走了~ 如果是对象,调用observe对这个对象进行监听,new 一个Observe对象添加到data的__ob__属性,对对象进行处理调用this.walk方法,遍历data 调用define reactive,创建dep的实例,有一个sub数组,存储watcher的实例
欢迎大佬们补充!