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

vue3如何解決各場景l(fā)oading過度(避免白屏尷尬!)

 更新時間:2023年03月27日 11:42:51   作者:野生切圖仔  
在開發(fā)的過程中點擊提交按鈕,或者是一些其它場景總會遇到loading加載,下面這篇文章主要給大家介紹了關(guān)于vue3如何解決各場景l(fā)oading過度的相關(guān)資料,避免白屏尷尬,需要的朋友可以參考下

Ⅰ、前言

當我們每次打卡頁面,切換路由,甚至于異步組件,都會有一個等待的時間 ;

為了不白屏,提高用戶體驗,添加一個 loading 過度動畫是 非常 常見的 ;

那么這幾種場景我們應該把 loading 加在哪里呢 ?

Ⅱ、vue3 常見過度

針對以下 3 種情況 做了一下整理 ??

① 首次打開頁面時;
② 路由切換時;
③ 異步組件顯示時

1、 首次打開頁面時 loading

在頁面首次打開的加載內(nèi)容,是最容易的,通過根目錄 index.html文件

<div id='app'> 里添加內(nèi)容,就是過度內(nèi)容

<body>
   <div id="app">
      <h1>加載中......</h1>
   </div>
   <script type="module" src="/src/main.js"></script>
</body>

當vue實例創(chuàng)建完成,通過.mount() 方法掛載到 id='app' 的div 里,會替換掉里的loading內(nèi)容;

2、 路由切換時、異步組件 loading

  • 路由切換過度 需要先了解一個,vue3 的內(nèi)置組件 <Suspense>
  • <Suspense> 提供 2 個插槽 ??;
  • #default : 一個要加載的內(nèi)容 ;
  • #fallback: 一個加載種顯示的內(nèi)容;
<Suspense>
	<template #default>
		<router-view />
	</template>
	<template #fallback>
		<h1>加載中......</h1>
	</template>
</Suspense>

同理:( 異步組件的切換 )

<template>
	<Suspense>
		<template #default>
			<AsyncComp  v-if = 'vitblie' />
		</template>
		<template #fallback>
			<h1>加載中......</h1>
		</template>
	</Suspense>
	
	<button @click='open'> 切換 </button>
</template>
<script setup>
	import { defineAsyncComponent , ref } from 'vue';
	const asyncComp = defineAsyncComponent(()=>important('./asyncComp.vue));

	const vitblie = ref(false);
	function open(){
		vitblie.value = !vitblie.value;
	}
</script>

異步組件也是可以使用相同的方法

Ⅲ、 添加過度動畫

添加過度動畫需要先了解 vue3 內(nèi)置組件 <Component><Transition> ??

<Component>: 非常簡單只有一個 is 顯示該組件, 可以用來組件切換 如:

 <template>
 	<Component :is="visible ? TestComp : '' " /> 
 </template>

<Transition> : 里插入的內(nèi)容 顯示/隱藏 添加過度動畫 ,通過 name 屬性來拼接 class 如 :

 <template>
 	<transition name='anime'>
 		<TestComp v-if='visblte' /> 
 	</transition>
 </template>

設置樣式通過 name 屬性 這里

anime-enter-active: 過度態(tài) ( 設置 隱藏 => 顯示 過度的時間等參數(shù))
anime-leave-active: 過度態(tài) ( 設置 顯示 => 隱藏 過度的時間等參數(shù))

anime-enter-from => anime-enter-to 隱藏 => 顯示 開始和結(jié)束的樣式
anime-leave-from => anime-leave-to 顯示 => 隱藏 開始和結(jié)束的樣式

組合起來 ??

<template>
	<router-view v-slot={ Component } >
		<transition name='anime'>
			<component :is="Component" />
		<transition>
	</router-view>
<template>
<style scoped>
.anime-enter-active,
.anime-leave-active {
	transition: all 1s;
}
.anime-leave-from { transform: translateY(0); }
.anime-leave-to { transform: translateY(-100%); }

.anime-enter-from { transform: translateY(100%); }
.anime-enter-to { transform: translate(0); }
</style>

總結(jié)

到此這篇關(guān)于vue3如何解決各場景l(fā)oading過度的文章就介紹到這了,更多相關(guān)vue3各場景l(fā)oading過度解決內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談vue.watch的觸發(fā)條件是什么

    淺談vue.watch的觸發(fā)條件是什么

    這篇文章主要介紹了淺談vue.watch的觸發(fā)條件是什么?具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue項目中錨點定位替代方式

    vue項目中錨點定位替代方式

    今天小編就為大家分享一篇vue項目中錨點定位替代方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue $set 實現(xiàn)給數(shù)組集合對象賦值

    vue $set 實現(xiàn)給數(shù)組集合對象賦值

    這篇文章主要介紹了vue $set 實現(xiàn)給數(shù)組集合對象賦值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • vuejs+element-ui+laravel5.4上傳文件的示例代碼

    vuejs+element-ui+laravel5.4上傳文件的示例代碼

    本篇文章主要介紹了vuejs+element-ui+laravel5.4上傳文件的示例代碼,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • vue?底部footer導航組件問題

    vue?底部footer導航組件問題

    這篇文章主要介紹了vue?底部footer導航組件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue前端獲取/切換麥克風、播放采集音頻和采集音量大小完整代碼

    vue前端獲取/切換麥克風、播放采集音頻和采集音量大小完整代碼

    這篇文章主要給大家介紹了關(guān)于vue前端獲取/切換麥克風、播放采集音頻和采集音量大小的相關(guān)資料,文中通過圖文以及代碼介紹的非常詳細,對大家學習或者使用vue具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • setup+ref+reactive實現(xiàn)vue3響應式功能

    setup+ref+reactive實現(xiàn)vue3響應式功能

    這篇文章介紹了通過setup+ref+reactive實現(xiàn)vue3響應式功能,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-11-11
  • 關(guān)于element-ui中@selection-change執(zhí)行兩次的問題

    關(guān)于element-ui中@selection-change執(zhí)行兩次的問題

    這篇文章主要介紹了關(guān)于element-ui中@selection-change執(zhí)行兩次的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件props不同數(shù)據(jù)類型傳參的默認值問題

    vue組件props不同數(shù)據(jù)類型傳參的默認值問題

    這篇文章主要介紹了vue組件props不同數(shù)據(jù)類型傳參的默認值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue使用CSS插件scss時代碼報紅問題

    vue使用CSS插件scss時代碼報紅問題

    這篇文章主要介紹了vue使用CSS插件scss時代碼報紅問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

三门县| 新密市| 尚义县| 治多县| 佛山市| 山西省| 城市| 四平市| 巫山县| 蒙山县| 柯坪县| 龙陵县| 汕头市| 龙陵县| 固安县| 乌鲁木齐市| 广丰县| 嘉善县| 双桥区| 瑞安市| 永德县| 宁晋县| 秭归县| 观塘区| 磐石市| 灵寿县| 民权县| 西安市| 元江| 三原县| 平南县| 潞西市| 长乐市| 安康市| 郧西县| 静乐县| 泽库县| 岳普湖县| 磴口县| 宁远县| 长宁区|