最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3 異步組件 suspense使用詳解

 更新時(shí)間:2022年12月28日 16:25:05   作者:_Rookie._  
vue在解析我們的組件時(shí), 是通過打包成一個(gè) js 文件,當(dāng)我們的一個(gè)組件 引入過多子組件是,頁面的首屏加載時(shí)間 由最后一個(gè)組件決定 優(yōu)化的一種方式就是采用異步組件,這篇文章主要介紹了Vue3 異步組件 suspense,需要的朋友可以參考下

vue在解析我們的組件時(shí), 是通過打包成一個(gè) js 文件,當(dāng)我們的一個(gè)組件 引入過多子組件是,頁面的首屏加載時(shí)間 由最后一個(gè)組件決定 優(yōu)化的一種方式就是采用異步組件 ,先給慢的組件一個(gè)提示語或者 骨架屏 ,內(nèi)容回來在顯示內(nèi)容

結(jié)合elementui 使用

代碼  

<template>
  <div class="layout">
    <h1>suspense</h1>
    <Suspense>
        <template #default>
            <sus></sus>
        </template>
        <template #fallback>
              <copyVue/>
        </template>
    </Suspense>
  </div>
</template>
<script lang="ts" setup>
import { defineAsyncComponent } from "vue";
import copyVue from "./sus/copy.vue";
let sus = defineAsyncComponent(() => import("./sus/index.vue"));
</script>
<style scoped lang="scss">
 $bg:#ccc;
 .layout{
    width: 800px;
    height: 400px;
    background-color: $bg;
    margin: auto;
 }
</style>

引入  defineAsyncComponent   定義異步組件 ,這個(gè)api 接收 一個(gè) 一個(gè)函數(shù) ,函數(shù)返回值 為 需要 后來顯示的組件  , copyVue 為預(yù)先顯示的組件 或者自定義內(nèi)容 

 <Suspense>
        <template #default>
            <sus></sus>
        </template>
        <template #fallback>
              <copyVue/>
        </template>
    </Suspense>

使用 suspense  內(nèi)置組件 在該組件內(nèi) 使用 命名插槽 官方 定義的   

  #default  放后來顯示的組件

 #fallback  放置 預(yù)先顯示的內(nèi)容

要想組件變成異步 組件 可以使用 頂層 await 技術(shù)  即 不用再 async 函數(shù)內(nèi)使用 那個(gè)該組件就變成 異步組件 代碼

<template>
    <div class="sus">
        <img class="img" :src="res.url" alt="">
        <h1 class="posi">{{res.name }}</h1>
        <h1 class="posi">{{ res.des }}</h1>
    </div>
</template>
<script lang="ts" setup>
import axios from 'axios'
import './com.scss'
let fn = ()=>{
    return new Promise(  (resolve,reject)=>{
         setTimeout(async() => {
            resolve(axios.get('/data.json'))
         }, 2000);
    })
 }
 let {data:{data:res}}:any =  await   fn()
  console.log(res);
</script>
<style scoped lang='scss'>
 
.sus{
    width: 100%;
    height: 200px;
    background-color: #999;
}
 
</style>

copyvue

<template>
    <div  v-loading="loading" element-loading-text="加載中..." 
    element-loading-background="rgba(122, 122, 122, 0.8)" class="sus">
    </div>
</template>
<script lang="ts" setup>
import axios from 'axios'
import { ref } from 'vue'
const loading = ref(true)
</script>
<style scoped lang='scss'>
.sus{
    width: 100%;
    height: 200px;
}
 
</style>

scss

.posi{
    height: 50px;
    background-color: rgb(209, 136, 136);
    margin-top: 20px;
 }
 .img{
     width: 30px;
     height: 30px;
     background-color: rgb(113, 52, 52);
 }

 public 下的 data.json 

{
    "data":{
         "name":"你好世界",
         "url":"./favicon.ico",
         "des":"世界是個(gè)荒原"
    }
}

public 下的  內(nèi)容 回當(dāng)成 服務(wù)的  '/xxx' 請求路徑  get可以請求 到文件內(nèi)容

http://localhost:5173/data.json

到此這篇關(guān)于Vue3 異步組件 suspense的文章就介紹到這了,更多相關(guān)Vue3 異步組件 suspense內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue中@keyup.enter?@v-model.trim的用法小結(jié)

    Vue中@keyup.enter?@v-model.trim的用法小結(jié)

    這篇文章主要介紹了Vue中@keyup.enter?@v-model.trim的用法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • 分享幾個(gè)可以助你提高效率的Vue指令

    分享幾個(gè)可以助你提高效率的Vue指令

    vue是一款漸進(jìn)式JavaScript框架,漸進(jìn)式是指由淺到深,由簡單到復(fù)雜的使用vue框架,下面這篇文章主要給大家分享介紹了幾個(gè)可以助你提高效率的Vue指令,需要的朋友可以參考下
    2022-05-05
  • vue項(xiàng)目刷新當(dāng)前頁面的三種方法

    vue項(xiàng)目刷新當(dāng)前頁面的三種方法

    這篇文章主要介紹了vue項(xiàng)目刷新當(dāng)前頁面的三種方法,本文圖文并茂給大家介紹的非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • Vue.js源碼分析之自定義指令詳解

    Vue.js源碼分析之自定義指令詳解

    這篇文章主要給大家介紹了關(guān)于Vue.js源碼分析之自定義指令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • vue子組件如何獲取父組件的內(nèi)容(props屬性)

    vue子組件如何獲取父組件的內(nèi)容(props屬性)

    這篇文章主要介紹了vue子組件獲取父組件的內(nèi)容(props屬性),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue做移動(dòng)端適配最佳解決方案(親測有效)

    vue做移動(dòng)端適配最佳解決方案(親測有效)

    這篇文章主要介紹了vue做移動(dòng)端適配最佳解決方案(親測有效),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue函數(shù)防抖與節(jié)流的正確使用方法

    vue函數(shù)防抖與節(jié)流的正確使用方法

    防抖和節(jié)流的作用都是防止函數(shù)多次調(diào)用,下面這篇文章主要給大家介紹了關(guān)于vue函數(shù)防抖與節(jié)流的正確使用方法,需要的朋友可以參考下
    2021-05-05
  • 詳解如何在Vue3+TS的項(xiàng)目中使用NProgress進(jìn)度條

    詳解如何在Vue3+TS的項(xiàng)目中使用NProgress進(jìn)度條

    本文主要介紹了詳解如何在Vue3+TS的項(xiàng)目中使用NProgress進(jìn)度條,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue項(xiàng)目如何部署運(yùn)行到tomcat上

    vue項(xiàng)目如何部署運(yùn)行到tomcat上

    這篇文章主要介紹了vue項(xiàng)目如何部署運(yùn)行到tomcat上的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Vee-Validate的使用方法詳解

    Vee-Validate的使用方法詳解

    本篇文章主要介紹了Vee-Validate的使用方法詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

寿宁县| 葫芦岛市| 昭苏县| 交城县| 清水河县| 治县。| 镇赉县| 奉节县| 沧州市| 盐城市| 烟台市| 纳雍县| 亚东县| 万荣县| 麻栗坡县| 夹江县| 泽普县| 揭阳市| 临桂县| 龙江县| 启东市| 大城县| 冷水江市| 利川市| 呼伦贝尔市| 兴仁县| 太康县| 固阳县| 高雄市| 新宁县| 巴彦淖尔市| 万州区| 长阳| 太仓市| 泰安市| 奈曼旗| 中山市| 搜索| 蒙自县| 玛多县| 交城县|