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

一文詳解Vue中如何實現(xiàn)頁面骨架屏

 更新時間:2024年03月10日 10:11:36   作者:JJCTO袁龍  
為了提升頁面加載速度,我們可以使用頁面骨架屏技術來優(yōu)化用戶感知,下面就跟隨小編一起學習一下如何在vue中實現(xiàn)頁面骨架屏吧

在前端開發(fā)中,頁面加載速度是一個至關重要的因素,用戶體驗也會直接受到影響。為了提升頁面加載速度,我們可以使用頁面骨架屏技術來優(yōu)化用戶感知。在Vue中,實現(xiàn)頁面骨架屏的方法非常簡單。

頁面骨架屏的原理是在頁面的加載過程中,首先展示一個簡單的骨架結構,以此告訴用戶頁面正在加載中,等待內(nèi)容填充。一旦真實內(nèi)容加載完成,就會替換掉骨架結構,呈現(xiàn)完整的頁面。

下面我們就來看一下如何在Vue中實現(xiàn)頁面骨架屏。

首先,我們可以新建一個Skeleton.vue組件,用來編寫骨架屏的結構和樣式。示例代碼如下:

<template>
  <div class="skeleton">
    <div class="skeleton-header"></div>
    <div class="skeleton-content">
      <div class="skeleton-item"></div>
      <div class="skeleton-item"></div>
      <div class="skeleton-item"></div>
    </div>
  </div>
</template>

<style>
.skeleton {
  width: 100%;
  height: 100%;
  background: #f2f2f2;
  padding: 20px;
}

.skeleton-header {
  width: 100%;
  height: 50px;
  background: #e0e0e0;
  margin-bottom: 20px;
}

.skeleton-content {
  display: flex;
  justify-content: space-between;
}

.skeleton-item {
  width: 30%;
  height: 100px;
  background: #e0e0e0;
}
</style>

上述代碼中,我們定義了一個骨架屏的結構,包括頭部和內(nèi)容部分,內(nèi)容部分包含了三個占位的項目。接下來,在需要展示骨架屏的頁面中,我們可以根據(jù)需要動態(tài)地控制骨架屏的顯示。示例代碼如下:

<template>
  <div>
    <Skeleton v-if="loading" />
    <div v-else>
      <!-- 真實內(nèi)容 -->
    </div>
  </div>
</template>

<script>
import Skeleton from './Skeleton.vue';

export default {
  data() {
    return {
      loading: true
    };
  },
  created() {
    // 模擬數(shù)據(jù)加載
    setTimeout(() => {
      this.loading = false;
    }, 2000);
  },
  components: {
    Skeleton
  }
};
</script>

在上述代碼中,我們通過一個loading變量來控制骨架屏的顯示與隱藏。在頁面加載完成前,loading為true,顯示骨架屏;頁面加載完成后,loading變?yōu)閒alse,隱藏骨架屏,展示真實內(nèi)容。

通過以上代碼,我們就實現(xiàn)了在Vue中如何實現(xiàn)頁面骨架屏的功能。頁面骨架屏不僅可以提升用戶體驗,還可以讓頁面看起來更加專業(yè)和流暢。在實際項目中,可以根據(jù)具體需求來進行進一步的定制和優(yōu)化。

方法補充

除了上文的方法,小編還為大家整理了其他vue實現(xiàn)骨架屏的方法,希望對大家有所幫助

Vue3API-Suspense實現(xiàn)骨架屏加載

1.使用vue-vue-content-loader

打開一個頁面時候,頁面內(nèi)容多,接口請求慢或者說加載速度慢時,會導致頁面出現(xiàn)較長時間出現(xiàn)空白頁面,影響的體驗感,可以使用vue-content-loader解決這些場景問題。

2.安裝 npm i vue-content-loader

skyeLoadVue.vue

<script>
import { ContentLoader } from 'vue-content-loader'
export default {
  components: {
    ContentLoader,
  },
}
</script>

<template>
  <!-- <content-loader></content-loader> -->
  <ContentLoader viewBox="0 0 250 110">
  <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
  <rect x="20" y="20" rx="3" ry="3" width="220" height="10" />
</ContentLoader>
</template>

3.使用標簽Suspense包裹

<script>
// 使用異步組件
import asyncomVue from "./asyncom.vue";
// 骨架屏占位組件
import skyeLoadVue from "./skyeLoad.vue";
export default {
  components: {
    asyncomVue,
    skyeLoadVue,
  },
};
</script>

<template>
  <Suspense>
    <!-- 包含異步的組件 -->
    <asyncomVue />
    <template #fallback>
      <!-- 骨架屏占位組件 -->
      <skyeLoadVue />
    </template>
  </Suspense>
</template>

到此這篇關于一文詳解Vue中如何實現(xiàn)頁面骨架屏的文章就介紹到這了,更多相關Vue骨架屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • VueJS 組件參數(shù)名命名與組件屬性轉(zhuǎn)化問題

    VueJS 組件參數(shù)名命名與組件屬性轉(zhuǎn)化問題

    這篇文章主要介紹了VueJS 組件參數(shù)名命名與組件屬性轉(zhuǎn)化問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • vue3鼠標拖拽滑動效果實現(xiàn)demo

    vue3鼠標拖拽滑動效果實現(xiàn)demo

    這篇文章主要為大家介紹了vue3鼠標拖拽滑動效果實現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 前端開發(fā)利器Vite完整版詳解

    前端開發(fā)利器Vite完整版詳解

    這篇文章主要給大家介紹了關于前端開發(fā)利器Vite完整版詳解的相關資料,Vite是一種基于ES模塊的開發(fā)服務器和構建工具,專為現(xiàn)代化的前端開發(fā)而設計,需要的朋友可以參考下
    2023-11-11
  • Vue使用xlsx模塊實現(xiàn)讀寫Excel文檔內(nèi)容

    Vue使用xlsx模塊實現(xiàn)讀寫Excel文檔內(nèi)容

    在前端項目開發(fā)中,讀寫Excel文件的需求變得越來越常見,本文將詳細介紹如何在Vue項目中利用FileReader對象和xlsx模塊來讀取Excel文件的內(nèi)容,需要的可以參考下
    2024-03-03
  • el-menu遞歸實現(xiàn)多級菜單組件的示例

    el-menu遞歸實現(xiàn)多級菜單組件的示例

    本文主要介紹了el-menu使用遞歸組件實現(xiàn)多級菜單組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Vite引入虛擬文件的實現(xiàn)

    Vite引入虛擬文件的實現(xiàn)

    本文主要介紹了Vite引入虛擬文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue axios重復點擊取消上一次請求封裝的方法

    vue axios重復點擊取消上一次請求封裝的方法

    這篇文章主要介紹了vue axios重復點擊取消上一次請求封裝的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 深入理解vue Render函數(shù)

    深入理解vue Render函數(shù)

    本篇文章主要介紹了深入理解vue Render函數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決vite build打包后頁面不能正常訪問的情況

    解決vite build打包后頁面不能正常訪問的情況

    這篇文章主要介紹了解決Vite打包后直接使用瀏覽器打開,顯示空白問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3中使用Element?Plus時el-icon無法顯示的問題解決

    Vue3中使用Element?Plus時el-icon無法顯示的問題解決

    我們的Vue前端一般都是用的ElementUI,其中按鈕可能用到的比較多,官方里面有自帶的一些默認圖標,下面這篇文章主要給大家介紹了關于Vue3中使用Element?Plus時el-icon無法顯示的問題解決,需要的朋友可以參考下
    2022-03-03

最新評論

富川| 呼伦贝尔市| 兰州市| 元谋县| 林西县| 铜梁县| 富顺县| 利川市| 甘南县| 怀柔区| 昌平区| 张北县| 色达县| 云安县| 望江县| 永登县| 临邑县| 冀州市| 勐海县| 仪征市| 旬邑县| 乡城县| 黎城县| 汉寿县| 文成县| 沙坪坝区| 潞西市| 东莞市| 海城市| 年辖:市辖区| 蓝山县| 彰化市| 瑞金市| 高雄县| 扎鲁特旗| 壤塘县| 花莲市| 张家港市| 溆浦县| 甘孜县| 晋宁县|