首页 > 解决方案 > Vue 3 什么是基于类的 API、基于函数的 API、反应性 API 和组合 API

问题描述

当我开始使用 vue 3 时,我看到了这些概念:

有人能告诉我们这些的定义吗?

2021 年更新

我添加了 Options API 和 Reactivity API

标签: vue.jsvuejs2vuejs3

解决方案


并不是说主要文档提到Options-based,而不是Object-based,但即使在 Evan 的引用中,它们似乎也是可以互换的。

基于选项的 API 是基于类的,基于函数的 API 是组合 API

基于选项与基于函数表达,我称之为如何区分 API 的理论模型。而基于类组合在实现之间存在差异。

基于选项/基于类的 API

您有 vue1 和 vue2 使用的旧方式,称为基于类,称为基于选项的 API。

命名意味着组件是由选项定义的。您可能会将选项视为datacomputedmethods...它们通过使用一组您重载的预定义选项来定义组件的工作方式。

这种定义功能的方式的缺点是,实际的组件逻辑分布在各种“选项”之间,这使得从代码中理解组件的实际功能变得更加困难。

基于函数/组合 API

函数意味着我们正在声明组件的功能(而不是它正在使用功能组件)。组合 API 使代码更易于重用(因为您不需要将功能的各个方面与组件紧密耦合)并且更易于阅读和维护(因为您可以将功能封装在更小的专用单元中)


推荐阅读