vue3

80 阅读1分钟

首先抛出 Vue2 的代码模式下存在的几个问题。

  1. 随着功能的增长,复杂组件的代码变得越来越难以维护。 尤其发生你去新接手别人的代码时。 根本原因是 Vue 的现有 API 通过「选项」组织代码,但是在大部分情况下,通过逻辑考虑来组织代码更有意义。
  2. 缺少一种比较「干净」的在多个组件之间提取和复用逻辑的机制。
  3. 类型推断不够友好。

vue2中对于数据响应式的缺点
1.defineProperty只能监听某个属性,不能对全对象监听 2.监听的范围:对象上新增属性,Proxy可以监听到,Object.defineProperty不能 2.defineproperty中的监听是在初始化的时候就执行递归监听,而proxy是在使用到的时候才会去递归绑定响应,所以性能好(若对象内部属性要全部递归代理,Proxy可以只在调用的时候递归,而Object.definePropery需要一次完成所有递归,性能比Proxy差) 3.Proxy可以监听数组的变化,不用再去单独的对数组做特异性操作(数组新增修改,Proxy可以监听到,Object.defineProperty不能)