亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3怎么解決各場景loading過度

發布時間:2023-03-27 13:51:09 來源:億速云 閱讀:162 作者:iii 欄目:開發技術

這篇文章主要介紹“vue3怎么解決各場景loading過度”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“vue3怎么解決各場景loading過度”文章能幫助大家解決問題。

    vue3 常見過度

    1、 首次打開頁面時 loading

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

    <div id='app'> 里添加內容,就是過度內容

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

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

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

    • 路由切換過度 需要先了解一個,vue3 的內置組件 <Suspense>

    • <Suspense> 提供 2 個插槽 ????;

    • #default : 一個要加載的內容 ;

    • #fallback: 一個加載種顯示的內容;

    <Suspense>
    	<template #default>
    		<router-view />
    	</template>
    	<template #fallback>
    		<h2>加載中......</h2>
    	</template>
    </Suspense>

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

    <template>
    	<Suspense>
    		<template #default>
    			<AsyncComp  v-if = 'vitblie' />
    		</template>
    		<template #fallback>
    			<h2>加載中......</h2>
    		</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 內置組件 <Component><Transition> ????

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

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

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

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

    設置樣式通過 name 屬性 這里

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

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

    組合起來 ????

    <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>

    關于“vue3怎么解決各場景loading過度”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    涡阳县| 竹山县| 社旗县| 招远市| 漾濞| 盘山县| 民权县| 祁门县| 四平市| 乾安县| 本溪市| 石阡县| 通山县| 德安县| 巴里| 西盟| 曲松县| 长宁区| 台中县| 平南县| 平安县| 溧阳市| 新龙县| 巴青县| 历史| 伊春市| 大丰市| 永年县| 凌海市| 赣榆县| 读书| 海门市| 敦化市| 桂平市| 孟津县| 沾化县| 蒙山县| 萍乡市| 伊春市| 奇台县| 汝阳县|