新特性Composition API背景解决方法setup 新特性 向后兼容新特性breaking change非兼容性改变性能提升:重写了虚拟dom的实现,和tree-shaking的一些优化 打包大小 -41%初次渲染快 +51%更新 +133%内存减少 -54% typescript 支持 它的API分为选项式API和组合式API Composition API 背景 随着功能的增长,复杂组件代码难以维护Vue2 api 通过一些列的 object 组织代码,缺少一种比较干净的在多个组件之间提取和复用的机制使用 mixin 解决复用的问题 - 不知道mixin暴露的**对象中的数据是什么,方法是什么、返回是什么**。对象是有一定封闭性的。 - mixin中同样会有 data、computed、methods等,**逻辑依然会分散**- 命名冲突导致覆盖问题 解决方法使用函数 按逻辑组织代码,一个功能对应一个函数,代码组织更集中在普通情况下,函数使用的参数、返回值更易查找。在 ts 的加持下,函数参数和返回值的提示更友好。 setup不用像 vue2 那样,写 data, computed, methods 等分散的逻辑。而将这些写在 setup 方法中。setup 在props, data, computed, methods, 生命周期函数运行之前运行的,不能获得 this。