1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          suspense(Vue.js 3.0 中Suspense組件的作用是什么)

          來源:互聯網轉載 時間:2024-05-13 06:59:01

          Suspense組件到底是什么?

          Suspense組件用于在等待某個異步組件解析時顯示后備內容。

          你可能會想我們會在什么時候使用異步組件?

          老實說,超出你的想象。每當我們希望組件等待數據獲取時(通常在異步API調用中),我們都可以使用Vue3 Composition API制作異步組件。

          以下是異步組件有用的一些實例:

          • 在頁面加載之前顯示加載動畫

          • 顯示占位符內容

          • 處理延遲加載的圖像

          以前,在Vue2中,我們必須使用條件(例如 v-if 或 v-else)來檢查我們的數據是否已加載并顯示后備內容。

          但是現在,Suspense隨Vue3內置了,因此我們不必擔心跟蹤何時加載數據并呈現相應的內容。


          好吧...那我們如何實現Suspense

          在這個例子中,我們有一個異步的 ArticleInfo.vue 組件。由于本文的重點是Suspense,而不是Composition API,因此,不會對這些細節進行瘋狂的詳細介紹。如果您對更完整的Composition API教程感興趣,請參閱此處。

          簡而言之,只需知道 setup 方法可以像其他方法一樣被設置為異步的。

          對于我們的示例,ArticleInfo將具有異步 setup 方法,該方法將在返回之前加載用戶數據。

          asyncfunctiongetArticleInfo(){//一些異步API調用return{article}}exportdefault{asyncsetup(){var{article}=awaitgetArticleInfo()return{article}}}

          然后,假設我們有一個 ArticlePost.vue 組件,其中包含我們的ArticleInfo組件。

          如果我們要在等待組件獲取數據并解析時顯示“正在拼了命的加載&hellip;”之類的內容,則只需三個步驟即可實現Suspense。

          • 將異步組件包裝在<template #default>標記中

          • 在我們的Async組件的旁邊添加一個兄弟姐妹,標簽為<template #fallback>。

          • 將兩個組件都包裝在<suspense>組件中

          使用插槽,Suspense將渲染后備內容,直到默認內容準備就緒。然后,它將自動切換以顯示我們的異步組件。

          看起來會像這樣。

          <Suspense><template#default><article-info/></template><template#fallback><p>正在拼了命的加載&hellip;</p></template></Suspense>

          你還可以捕獲組件錯誤

          Vue的另一個很酷的功能,尤其是當我們開始使用異步組件時,可以捕獲錯誤并向用戶顯示一些錯誤消息。

          即使在Vue2中,也可以使用 errorCaptured 鉤子函數實現,但是在Vue3中,它已重命名為 onErrorCaptured。

          無論調用什么,此鉤子函數都會在捕獲到任何后代組件的錯誤時運行。如果出現問題,我們可以將其與Suspense一起使用以渲染錯誤。

          如果我們處理了一個錯誤以顯示錯誤消息,則上面的組件將是這樣。

          <template><pv-if="errMsg">{{errMsg}}</p><Suspensev-else><template#default><article-info/></template><template#fallback><p>正在拼了命的加載&hellip;</p></template></Suspense></template><script>import{onErrorCaptured}from'vue'setup(){consterrMsg=ref(null)onErrorCaptured(e=>{errMsg.value='呃,出了點問題!'returntrue})}return{error}</script>

          看完上述內容,你們對Vue.js 3.0 中Suspense組件的作用是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注本站行業資訊頻道,感謝大家的支持。

          標簽:suspense-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          京東金條怎么開通?1、想要成功開通京東金條,需要先開通京東白條,因為只有白條用戶才有資格申請,其次個人征信必須良好,不能有任何不良信用記錄,小白信用分越高,越容易申請。2、正常使用京東白條兩個月以上,留在京東的收貨地址、手機號,不要經常更改,綁定自己的QQ號,還可以在京東金融多購買理財產品,證明自己的還款實力。這樣能夠提高自己的綜合資質,去申請京東金條更容易通過審批。新開戶京東金條有額度嗎?用戶的...

          手機銀行是什么意思?手機銀行就是指銀行用智能手機為承載體,使客戶在此終端上使用銀行服務的渠道模式。關于手機銀行怎么開通,正常情況下是需要先下載好銀行的手機官方軟件,然后打開銀行軟件,根據提示完善相關資料信息,最后點擊開通就可以啦。手機銀行開通程序是什么?首先打開手機的應用市場,下載相應的銀行軟件,例如,你需要開通建行的手機銀行,就下載建行的官方手機銀行軟件,以此類推。下載好軟件后,打開軟件,允許一...

          可以在中國銀行網銀上買黃金嗎?在中國銀行的網銀上購買的黃金,如果是購買的賬戶不能夠提取實物,買的紙黃金的話是可以提取實物的,具體情況可以咨詢銀行網點工作人員和客服熱線。中國黃金交易存在以下的買賣規則:1、交易時間黃金交易有效時間一般為北京時間周一早8:30至周六凌晨2:00(黃金市場休市及銀行業務批處理時間除外)。2、交易幣種:可以以人民幣交易,也可以選擇以美元交易。3、交易單位以人民幣交易時,交...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>