性能提升
diff算法
Vue3对diff算法进行优化。Vue2创建虚拟DOM时,所有的DOM树都会与之前的DOM树进行比较,而Vue3新增了静态标记,它只会比较需要改变的DOM节点
静态提升
Vue2中的元素无论是否参与更新,都会被重新创建。Vue3对于不参与更新的元素会做静态提升的处理,它们只会被创建一次,在渲染时复用。
事件监听缓存
Vue2中在创建虚拟DOM时对于元素绑定的事件也会进行重新绑定。Vue3则是把之前绑定的事件缓存起来直接复用。
SSR渲染
optionAPI与compositionAPI
Vue2使用optionAPI开发时,数据和业务逻辑是分散的,不便于维护。
Vue3使用compositionAPI开发时,业务逻辑和数据可以写在一起最后在setup中导出。
响应式原理
vue2的响应式使用的是 Object.defineProperty()
,它只能监听对象属性的变化
Vue3则是使用ES6的代理模式 Proxy