1、使用Proxy进行数据劫持
- 在vue2.x的时候,vue2是使用的Object.defineProperty来劫持数据的getter和setter方法的。
- 这种方式一致存在一个缺陷就是当给对象添加或者删除属性时,是无法劫持和监听的。
- 所以在vue2.x的时候,不得不提供一些特殊的API,比如delete,事实上都是一些hack方法,也增加了开发者学习新的API的成本。
- 而在vue3.x开始,Vue使用Proxy来实现数据的劫持
删除了一些不必要的API
- 移除了实例上的off和$once.
- 移除了一些特性,如:filtter,内联模版等。
包括了一些编译上的优化
- 生成Block Tree、Slot编译优化、diff算法优化。
评论区