57.Vue的响应式原理

41 阅读1分钟

vue的响应式是通过Object.defineProperty对数据进行劫持,并结合观察者模式实现的

vue利用Object.defineProperty创建一个observe来劫持监听所有的属性,把这些属性转化为getter和setter

vue每个组件实例都对应一个watcher实例,它会在组件渲染的过程中,把使用过的数据属性通过getter收集为依赖,当依赖项的setter触发时,就会通知watcher,从而使它关联的组件重新渲染