vue3对vue2更新了什么?优化了什么,怎么实现的
vue3 vue2
1.vue3更新有哪些(更新什么内容)
>性能优化:渲染更快,性能更好了
>组合API:代码简洁,逻辑写到一块I
>tree-shaking支持:打包体积更小,(去掉未使用的代码)
>Fagements:支持不是一个根标签
>Teleport: 模板渲染位置可以在dom不同地方
>响应实现改变: 改成proxy
2.怎么理解这些更新(为什么要做这些更新)
vue2 编译器渲染虚拟dom,每次内容更新都去刷新模板内容,再创建真实dom,整体刷新方式,最算没有动态操作的内容也花时间去编译,静态内容重复创建
vue2分块模板开发,data定义属性,menthods方法处理逻辑都是拆开发到固定块里操作,反复横跳
vue2必须要有一个根标签
vue2的响应式是Object.defineProperty,通过数据劫持、依赖收集、派发更新方式(setter ,getter)
3.vue3实现这些更新的原理(怎么实现性能优化)
编译器优化,每次刷新内容dom上先去对比哪一个节点更新,再更新节点内容,对比前后dom生成真实dom,这样静态内容只创建一次
采用prox应式原理,前者实现方式是监听对象属性,后者proxy是监听整个对象。前者方式会改变对象,想要监听深度属性需要遍历整个对象,但是proxy不用。另外proxy能删除操作属性,前者不能。
基于编译优化和响应式优化,提升响应速度,优化了项目性能。

浙公网安备 33010602011771号