亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue3異步組件Suspense的使用方法詳解

 更新時間:2023年01月26日 12:49:10   作者:Nanchen_42  
這篇文章主要介紹了Vue3異步組件Suspense的使用方法詳解,需要的朋友可以參考下

Suspense組件

官網中有提到他是屬于實驗性功能:
<Suspense> 是一項實驗性功能。它不一定會最終成為穩(wěn)定功能,并且在穩(wěn)定之前相關 API 也可能會發(fā)生變化。
<Suspense> 是一個內置組件,用來在組件樹中協調對異步依賴的處理。它讓我們可以在組件樹上層等待下層的多個嵌套異步依賴項解析完成,并可以在等待時渲染一個加載狀態(tài)。

意思就是此組件用來等待異步組件時渲染一些額外內容,讓應用有更好的用戶體驗

要了解 <Suspense> 所解決的問題和它是如何與異步依賴進行交互的,我們需要想象這樣一種組件層級結構:

<Suspense>
└─ <Dashboard>
   ├─ <Profile>
   │  └─ <FriendStatus>(組件有異步的 setup())
   └─ <Content>
      ├─ <ActivityFeed> (異步組件)
      └─ <Stats>(異步組件)

在這個組件樹中有多個嵌套組件,要渲染出它們,首先得解析一些異步資源。如果沒有 <Suspense>,則它們每個都需要處理自己的加載、報錯和完成狀態(tài)。在最壞的情況下,我們可能會在頁面上看到三個旋轉的加載態(tài),在不同的時間顯示出內容。

有了 <Suspense> 組件后,我們就可以在等待整個多層級組件樹中的各個異步依賴獲取結果時,在頂層展示出加載中或加載失敗的狀態(tài)。

接下來看個簡單的例子:

首先需要引入異步組件

import {defineAsyncComponent} from 'vue'
const Child = defineAsyncComponent(()=>import('./components/Child.vue'))

簡潔一些就是用組件實現異步的加載的這么一個效果

Home父組件代碼如下:

<template>
  <div class="home">
    <h3>我是Home組件</h3>
    <Suspense>
       <template #default>
        <Child />
      </template>
      <template v-slot:fallback>
        <h3>Loading...</h3>
      </template>
    </Suspense>
  </div>
</template>
 
<script >
// import Child from './components/Child'//靜態(tài)引入
import { defineAsyncComponent  } from "vue";
const Child = defineAsyncComponent(() => import("../components/Child"));
export default {
  name: "",
  components: { Child },
};
</script>
 
<style>
.home {
  width: 300px;
  background-color: gray;
  padding: 10px;
}
</style>

自組件Child

<template>
  <div class="child">
    <h3>我是Child組件</h3>
    name: {{user.name}}
    age: {{user.age}}
  </div>
</template>

<script>
import { ref } from "vue";
export default {
  name: "Child",
  async setup() {
    const NanUser = () => {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve({
            name: "NanChen",
            age: 20,
          });
        },2000);
      });
    };
    const user = await NanUser();
    return {
      user,
    };
  },
};
</script>

<style>
.child {
  background-color: skyblue;
  padding: 10px;
}
</style>

根據插槽機制,來區(qū)分組件, #default 插槽里面的內容就是你需要渲染的異步組件; #fallback 就是你指定的加載中的靜態(tài)組件。

效果如下:
請?zhí)砑訄D片描述

到此這篇關于Vue3異步組件Suspense的使用方法詳解的文章就介紹到這了,更多相關Vue3異步組件Suspense的使用方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • el-select如何獲取當前選中的對象所有(item)數據

    el-select如何獲取當前選中的對象所有(item)數據

    在開發(fā)業(yè)務場景中我們通常遇到一些奇怪的需求,下面這篇文章主要給大家介紹了關于el-select如何獲取當前選中的對象所有(item)數據的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • vue.js入門教程之綁定class和style樣式

    vue.js入門教程之綁定class和style樣式

    小編之前介紹了通過vue.js計算屬性,不知道大家都學會了嗎。那這篇文章中我們將一起學習vue.js實現綁定class和style樣式,有需要的朋友們可以參考借鑒。
    2016-09-09
  • Vue3?中自定義插件的實現方法

    Vue3?中自定義插件的實現方法

    在 Vue 中,一些簡單的功能,我們可以直接定義為全局方法,然后掛到 Vue 上就能使用了,這篇文章主要介紹了Vue3?中自定義插件的實現,需要的朋友可以參考下
    2022-08-08
  • vue+elementUI的select下拉框回顯為數字問題

    vue+elementUI的select下拉框回顯為數字問題

    這篇文章主要介紹了vue+elementUI的select下拉框回顯為數字問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue解決this.$refs.xx在mounted中獲取DOM元素為undefined問題

    vue解決this.$refs.xx在mounted中獲取DOM元素為undefined問題

    這篇文章主要介紹了vue解決this.$refs.xx在mounted中獲取DOM元素為undefined問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • django簡單的前后端分離的數據傳輸實例 axios

    django簡單的前后端分離的數據傳輸實例 axios

    這篇文章主要介紹了django簡單的前后端分離的數據傳輸實例 axios,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • vue項目因內存溢出啟動報錯的解決方案

    vue項目因內存溢出啟動報錯的解決方案

    這篇文章主要介紹了vue項目因內存溢出啟動報錯的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Element實現登錄+注冊的示例代碼

    Element實現登錄+注冊的示例代碼

    登錄注冊是最常用的網站功能,本文主要介紹了Element實現登錄+注冊的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • npm install sentry-cli失敗的問題解決

    npm install sentry-cli失敗的問題解決

    本文主要介紹了npm install sentry-cli失敗的問題解決,文章首先描述了問題現象,然后分析了問題的原因,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Vue中判斷語句與循環(huán)語句基礎用法及v-if和v-for的注意事項詳解

    Vue中判斷語句與循環(huán)語句基礎用法及v-if和v-for的注意事項詳解

    在Vue指令中,最經常被用于做邏輯操作的指令,下面這篇文章主要給大家介紹了關于Vue中判斷語句與循環(huán)語句基礎用法及v-if和v-for注意事項的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08

最新評論