安全圈 | 专注于最新网络信息安全讯息新闻

首页

創建api vue composition電影搜索應用程序

作者 landy 时间 2020-02-23
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]