vue3中的“组合式函数”(Composables)是一个什么东西

276 阅读2分钟

问:vue3中的“组合式函数”(Composables)是一个什么东西,该如何理解,有什么作用,如何使用,使用场景有哪些?

假如有一个页面很复杂,类似于填写流程的页面分为好多步骤,每一步填写什么,然后下一步,下一步依次填写,页面类似于这样

image.png

部分人的思路就是将这个页面拆分成多个组件,可能是父子组件,可能是兄弟组件,然后调用对应的组件依次进行传值操作,那么就会发现知道传递就很乱,值的传递,修改,逻辑方法,操作数据,会有很多不方便和很多冗余的代码

那么你可以考虑使用组合式函数(Composables)

它是一种将逻辑封装成可重用函数的方式,用于在Vue组件中共享和复用逻辑。它是Vue 3中的一项新特性,旨在提供更灵活和可组合的代码组织方式。 理解组合式函数,可以将其视为一种将相关的逻辑和状态封装在一起的函数。通过将逻辑和状态封装在组合式函数中,我们可以在不同的组件中使用相同的函数,实现代码的模块化和复用。

通俗来说就是可以把状态(属性、数据、变量等)和相关的逻辑封装在一起,通过导出的方式暴露出来给其它组件使用,当很多组件使用到这些属性方法的时候就可以实现逻辑的服用,数据的传递。

例如我有两个组件,A组件输入两个值,B组件得出两个值的和,也许你会在A组件计算好后通过组件传递值的方式传递给B展示,这没什么问题,但是值再多一点,组件再多一点,计算方式再复杂一点呢,那就会变得很困难

使用方式:这里引用官网的例子,不再复述cn.vuejs.org/guide/reusa…

它会将数据存储到组合函数的属性中,在调用地方取出,大概是这个样子

image.png

组合式函数适用于各种场景,包括但不限于:

  • 多个组件之间共享相同的逻辑和状态。
  • 提取和封装可复用的逻辑,使代码更加模块化。
  • 管理组件之间的通信和状态。
  • 处理异步操作和副作用。

总而言之,组合式函数是Vue 3中的一项特性,用于将逻辑封装成可重用函数,实现代码的模块化和复用。它提供了更灵活和可组合的代码组织方式,适用于各种场景。