av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Vue3用戶體驗(yàn)的增加:異步組件與Suspense組件

懶加載組件是一種改善應(yīng)用程序用戶體驗(yàn)的簡便方法,尤其是在我們的代碼包很大或用戶連接速度較慢的情況下。

在尋甸等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,尋甸網(wǎng)站建設(shè)費(fèi)用合理。

Vue3引入了一些新功能,可通過改進(jìn)異步組件API和新的Suspense組件來幫助我們實(shí)現(xiàn)友好的用戶體驗(yàn)。

用戶訪問應(yīng)用程序時,無需立即加載UI的某些部分,例如,諸如模態(tài)框和工具提示之類的動態(tài)UI功能。此外,如果我們使用的是單頁面應(yīng)用程序體系結(jié)構(gòu),則頁面上的內(nèi)容 看不見的頁面也不應(yīng)加載,直到需要為止。

示例

在此示例應(yīng)用程序中,我們的應(yīng)用程序顯示一個ChatWindow組件,如果用戶經(jīng)過身份驗(yàn)證,該組件將加載。

我們假設(shè)只能在運(yùn)行時確定身份驗(yàn)證,并且該組件很大。由于這些原因,我們需要要懶加載它。

 
 
 
 

使用Vue3異步組件API進(jìn)行懶加載

Vue 3引入了defineAsyncComponent API,所以實(shí)現(xiàn)懶加載組件是非常簡單的。

defineAsyncComponent 可以接受一個返回 Promise 的工廠函數(shù)。Promise 的 resolve 回調(diào)應(yīng)該在服務(wù)端返回組件定義后被調(diào)用。你也可以調(diào)用 reject(reason) 來表示加載失敗。

 
 
 
 

構(gòu)建后,任何動態(tài)導(dǎo)入的組件都會作為一個單獨(dú)的文件。

 
 
 
 
  1. File                                 Size
  2. dist/js/chunk-vendors.f11402df.js    82.39 KiB
  3. dist/js/app.ada103fb.js              20.59 KiB
  4. dist/js/ChatWindow.3c1708e4.js       5.47 KiB
  5. dist/css/app.8221c481.css            1.76 KiB
  6. dist/css/ChatWindow.f16731cd.css     2.75 KiB

loading-state 內(nèi)容

懶加載的缺點(diǎn)是需要團(tuán)隊交流,多次請求造成渲染參差不齊。處理此問題的一種方法加載組件時顯示 loading-state組件。

如下圖所示,組件在加載時,我們顯示一個 loading 畫面,加載后在顯示加載的組件內(nèi)容。

defineAsyncComponent 可以接受一個對象:其中有個 loadingComponent 屬性,表示加載異步組件時要使用的組件。

與 Suspense 一起使用

上面使用loading-state的方法效果是挺好的,但有一點(diǎn)限制。例如,我們可能希望將prop傳遞到加載狀態(tài)組件,將內(nèi)容傳遞到其插槽等,而使用異步組件API則不容易實(shí)現(xiàn)。

為了增加靈活性,我們可以使用Vue3中新出Suspense組件。這使我們能夠使用插槽確定模板級別的異步加載內(nèi)容。

Suspense 是全局組件(例如transition),可以在Vue 3應(yīng)用程序中的任何位置使用。要使用它,需要在模板中聲明它,并包括兩個命名的插槽:default和fallback。

Suspense 會確保在加載異步內(nèi)容時顯示默認(rèn)插槽,并將fallback 插槽用作加載狀態(tài)。

 
 
 
 
  1.     
  2.       
  3.     
  4.   

異步組件在默認(rèn)情況下是可掛起的。這意味著如果它在父鏈中有一個 ,它將被視為該 的異步依賴。在這種情況下,加載狀態(tài)將由 控制,組件自身的加載、錯誤、延遲和超時選項(xiàng)都將被忽略。

異步組件可以選擇退出 Suspense 控制,并可以在其選項(xiàng)中指定 suspensible:false,讓組件始終控制自己的加載狀態(tài)。

你可以在 API 參考查看更多可用的選項(xiàng)。

~完,我是小智,去SPA了,下期見!

作者:Matt Maribojoc 譯者:前端小智 來源:stackabuse

原文:https://vuejsdevers.com/2020/07/13/vue-async-components-suspense/

本文轉(zhuǎn)載自微信公眾號「大遷世界」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系大遷世界公眾號。


新聞標(biāo)題:Vue3用戶體驗(yàn)的增加:異步組件與Suspense組件
網(wǎng)站地址:http://uogjgqi.cn/article/djijids.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流