对比数据响应式
vue2和vue3均在相同的生命周期完成数据响应式,但做法不一样
总结
vue2中是循环数据通过Object.defineProperty对每个数据进行get、set,从而完成数据响应式;vue3中是使用Proxy
Proxy本身的效率会比Object.defineProperty的效率更高,因为不必递归遍历所有属性,而是直接得到一个Proxy;在vue3中,对数据的访问是动态的,当访问某个属性的时候,再动态的获取和设置。极大地提升了组件初始阶段的效率;同时,Proxy可以监控到成员的新增和删除,这些操作均可触发重新渲染,但是在vue2中很难实现,需要通过$set进行设置