响应式数据的基本实现
在ES2015 之前,只能通过 Object.defineProperty 函数实现,这也是 Vue.js 2 所采用的方式。
-
兼容性好,支持IE9
-
tips: Vue 框架是通过遍历数组 和递归遍历对象,从而达到利用 Object.defineProperty() 也能对对象和数组(部分方法的操作)进行监听。
在 ES2015+ 中,我们可以使用代理对象 Proxy 来实现,这也是 Vue.js 3 所采用的方式。
- Proxy 可以直接监听对象而非属性
- 可以直接监听数组的变化
大约 2 分钟