标注的博客| 安全研究| 渗透测试| APT

首页

创建api vue composition电影搜索应用程序

作者 cayo 时间 2020-03-10
all

在这篇文章中,我们将创建一个应用程序,用API扫描电影。我们不会使用目标-导向组件。在文章中,我将解释新的API是如何工作的,以及我们如何能够通过它来组织应用程序。

当我们完成了,我们会看到这样的事情:

应用程序将通过Open Movie API数据库搜索电影并显示结果。创建此应用程序的原因是,它很简单,不分散对新的API研究的注意力,但很复杂,足以显示API是如何工作的。

项目配置

为此,我们将利用Vue CLI,迅速创造必要的环境。

在这里你可以看到默认的文件夹结构:

如果你不想在本地计算机上安装所有的依赖,你也可以开始一个项目在Codesandbox。该codesandbox有一个很好的启动项目的最重要的框架,包括Vue。

新的API连接

生成的源代码使用旧的API Vue 2。为了使用新的API Vue 2,我们必须安装一个布局插件。

安装后,我们必须添加到main.js插件:

插件composition是加性的:这意味着你仍然可以创建和使用组件的旧,同时开始使用新的组件的Composition API。

我们有四个部分:

组件开发

让我们写我们的第一部分,领导:

props属性部分的声明和以前一样。你列出的变量,期望从父母的成分,作为一个数组或对象。这些变量将在模板{标题}和setup方法可用。

这里的新方法是setup。它运行在最初的props授权。setup方法可以恢复一个对象,和该对象的属性将与模板上下文合并:这意味着他们可以在模板。这一收回的设施也是对生命周期提出反响的场所。我们将在搜索部分看到这方面的例子。

然后创建搜索组件:

搜索部分跟踪按键并保持在movietitle输入值。当我们完成了,按下发送按钮,它发送当前的搜索到父组件。

setup方法有两个参数。

第一个参数是一个变量的props命名对象。你可以使用一个对象的结构来访问它的属性。这个选项是无效的,这意味着setup函数将重新启动时,输入属性的变化。

第二个参数是上下文的客体。这里列出的属性,可以在API 2.x:属性,slots,parent,根,emit。

下一个新的元素是ref函数。ref函数的反应性系统的一部分在Vue。调用时,它创建一个反应变量,这是一个值。value属性将具有参数传递到ref函数的价值。这是一个围绕原值的反应外壳。在一个模板,我们不需要提及的value属性,它将打开我们。如果我们把一个对象在ref,它将是完全喷气的。

反应性意味着,当我们改变对象的值时,在我们的情况下,属性的价值将知道什么是变化的,它将需要重新显示连接的模板和重新启动被跟踪的函数。

它的作用类似于一个对象的数据法返回的属性。

团结一致

下一步是提出一个家长组件的Header和搜索组件,苹果组件。它将听搜索部分的搜索事件,并启动API时,搜索条件的变化,并将发现的电影转移到电影组件列表。

修改苹果组件如下:

在这里,我们使用了两个新的元素:reactive和watch。

该reactive函数是相当于Vue.observable)在Vue 2。它使所提交的对象是一个喷气式的:以源对象,并将其转化为代理)基于ES2015 Proxy。对于从reactive返回的对象,我们可以直接调用属性)(不使用价值),而不是从ref函数返回对象。如果你想找到一个类似的API Vue 2.x,数据方法将匹配它。

reactive对象的一个缺点是,我们不能用setup方法将其扩展到返回的对象。

该watch函数期待一个函数作为输入参数。它跟踪所有的反应变量内,就像组件做的模板。当我们改变一个反应变量,使用在一个给定的函数,该函数将再次启动。在我们的例子中,每当搜索变量的变化,搜索将被启动。

还有一个组件,显示电影的每一个条目:

电影组件接收一个可变的movie显示和显示它的名字与图像。一个特殊的部分是,对于alt图像字段,我们使用基于标题的计算文本。

可计算的computed函数获取getter的函数,并将返回的变量包装成反应性的。返回的变量有相同的接口,从ref函数返回。不同的是,它只是阅读。同样的getter函数将重新启动时,其中一个在getter函数内的反应变量将发生变化。如果computed函数返回未经处理的原始值)(

元件重构

我们把他放在苹果。现在,苹果组件将仅处理提交的活动:

这是所有的;我们完成了一个新的API Composition小应用程序。

结论

让我们总结一下我们在这一条中所审议的问题。

Vue 3将提供许多新的功能:

我希望这个例子向你介绍了新的API,并消除了你对它的怀疑。

原文章:Gábor Soós-建设一个movie search app using the Vue Composition API

这篇文章对你有用吗?

[1/5]