因为是原理所以就不概述它的一个具体流程和实现过程了,就简单的来说一下在别人问你这个问题的时候怎么来回答它
前端新人,如有错误求大佬指出~求教
情景复现
大佬提问:“你知道Vue的数据响应式原理是什么吗?"
我的回答:“vue的数据响应式就是当数据发生变化,通知改变的代码。数据响应式原理的核心就是采用了数据劫持结合发布者-订阅者模式的方式来实现数据的响应式,通过Object.defineProperty()对数据进行拦截,把这些属性全部转换成getter/setter,get()方法可以读取数据、收集依赖,set()方法可以改写数据,在数据变动时会对数据进行比较,如果数据发生了变化,会发布消息通知订阅者,触发监听回调,更新视图。”
Object.defineProperty 不是为了实现数据响应式出现的,而是 vue 利用了 Object.defineProperty 的特性从而实现了数据响应式
Document