当我开始使用 vue 3 时,我看到了这些概念:
- 基于对象的 API
- 基于函数的 API
- 基于类的 API
- 组合 API
- 选项 API
- 反应性 API
有人能告诉我们这些的定义吗?
2021 年更新
我添加了 Options API 和 Reactivity API
并不是说主要文档提到Options-based,而不是Object-based,但即使在 Evan 的引用中,它们似乎也是可以互换的。
基于选项的 API 是基于类的,基于函数的 API 是组合 API。
基于选项与基于函数的表达,我称之为如何区分 API 的理论模型。而基于类与组合在实现之间存在差异。
您有 vue1 和 vue2 使用的旧方式,称为基于类,称为基于选项的 API。
命名意味着组件是由选项定义的。您可能会将选项视为data
、computed
等methods
...它们通过使用一组您重载的预定义选项来定义组件的工作方式。
这种定义功能的方式的缺点是,实际的组件逻辑分布在各种“选项”之间,这使得从代码中理解组件的实际功能变得更加困难。
函数意味着我们正在声明组件的功能(而不是它正在使用功能组件)。组合 API 使代码更易于重用(因为您不需要将功能的各个方面与组件紧密耦合)并且更易于阅读和维护(因为您可以将功能封装在更小的专用单元中)