vue23

109 阅读1分钟

vue2和vue3响应式数据

vue2

采用了defineProperty,将数据定义为响应式数据,拦截所有属性添加getter和setter,缺陷是需要递归,不存在的属性没法监视到,没有对数组采用defineProperty,优化方案,减少层级数据的嵌套,不要过深,如果不要响应式的数据不放在data中,缓存使用过的变量

vue3

采用了proxy,可以这直接对对象进行拦截,不用重写set和get方法,性能更好,不需要递归