当我们编写VUE组件时,该组件可能包含一系列功能,例如代码仓库管理应用程序。用户的仓库列表可以视为组件。该组件还包括筛选和搜索的功能。
SO值函数可以理解为MVC中的模型和控制器。从视角,组件是最基本的代码重用单元,但从逻辑上讲,函数模块是最基本的代码重用单元。
每个组件可能包含多个函数(也称为注意点),以及散布在VUE组件的各个部分的代码的多个功能:数据/profs/watch/compute/compute/domineback/lifscycle。
这将带来两个问题:
为了解决上述两个问题,VUE需要提供功能模块 - 级别的代码组织方法,即,同一功能模块的代码写在同一区域中,而不是分散到组件的每个API中。此外,它还需要支持功能模块。包装,以便我们可以提取功能模块的代码以进行重复使用。
如何实现上述两个能力?让我们看看功能模块包含的内容。
数据部分的代码写在VUE组件的数据和道具中
数据计算部分的代码写在VUE组件的计算和处理数据方法中
代码的数据更新部分写在生命周期挂钩方法和交互式事件中
数据监视代码写在手表中
因此,我们希望VUE可以提供API,让我们编写这些代码(即焦点)(即焦点)(包括data/props/compute/compate/compate/dom事件呼叫/line)和。可以提取它。
组合的API提供了这样的功能。
简而言之,组合的API是VUE3中新添加的API。它有两个优势:
开发人员如何使用组合的API?简而言之,您需要在VUE组件中实现设置方法,并返回方法中的某些方法和属性。返回的所有内容将暴露于组件的其余部分(计算属性,方法,生命周期钩等)和组件板的组件。
首先查看一个简单的示例。以下是单个文件组件
效果如下:
该组件具有两个功能
在了解上述功能的实现之后,让我们看看如何使用组合的API实现相同的功能。
上面使用组合API的示例来实现相同的功能。笔记:
与两个段代码相比,我们可以看到,设置API的使用的实现显然可以收敛功能逻辑的两个部分(counter和Displise Promist信息)
这样,“让功能模块代码(聚焦点)融合以使可读性和可维护性更高”的效果。
可以从上面的示例中可以看出,我们将不同的功能模块封装在功能和返回密钥数据和方法中,然后在VUE组件的设置方法中引用和返回以在模板中使用它。
除了上面提到的密钥API:设置/ref/Computd/onmontted外,TOREF还用于解构道具中的属性。手表用于监视数据并替换VUE组件中的手表属性。您可以在官方文档中查看使用量。
原始:https://juejin.cn/post/7094774317644251150