Vue3 组合式API(Composition API)解决了什么痛点?

来了老弟
  • 439
北京市

在Vue2中都用的是 选项式API(Options API),到了Vue3听说要用 组合式API,它到底解决了什么问题呢?

回复
阅读 1.7k
3 个回答
✓ 已被采纳

便于拆分代码,于是代码会更容易复用。另外响应式对象不再跟组件绑定,可以用普通的模块方式组织管理,也很方便。

比如我目前在重构我厂的项目,有一个大对象,用的地方很多,比较适合以普通对象的形式、用 JS 模块管理来处理。同时它不涉及渲染,也不需要响应式。如果放在 Options API 的 data 里面,每次更新都要重新构建这个大对象,非常浪费时间空间。

但因为项目基于 Vue2,不支持 Composition API,就没法即让它有响应式,又能在组件间自由共享。于是我只好手动触发事件,这样就要多写很多代码。

官方给的解释我觉得挺好的:https://vuejs.org/guide/intro...

其实吧,我觉得前端开发,可能最核心的,就是“处理事件”。用户事件,网络事件等等。那么处理事件需要什么,可能需要变量,可能需要其他的处理过程,也就是说,特定的一些变量和特定的一些过程,构成一个具有专门功能的处理过程。说回来“处理事件”,事件具有相似性以及扩展性,比如点击事件可以分阶段成mousedown和mouseup(也有可能更多)。既然事件从一定角度上可以认为是相互构成,那么处理事件的逻辑也应当能够相互构成,因此就有了“组合”的需求。

options也可以“组合”,也就是对象的结构再结合,但是对于书写而言,因为一般性的书写,对象内部位置上相互咬合,对象间有可能相隔万里,因此有了组合式api,将对象中的内容拆散开,过程相关的放在一起,相关的过程也可以放在一起。

宣传栏