亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
什麼是過渡組?
基本用法
添加CSS過渡
處理順利進行重新排序
處理休假動畫和佈局
使用CSS動畫而不是過渡
高級:交錯的輸入動畫
要記住的要點
首頁 web前端 Vue.js 如何使用Vue中的過渡組處理動畫

如何使用Vue中的過渡組處理動畫

Aug 02, 2025 am 09:37 AM
vue

VUE中的TransitionGroup在添加,刪除或重新訂購操作期間為動態(tài)列表提供平滑的動畫; 1)使用包裝列表元素,使用唯一:鍵(最好是穩(wěn)定ID); 2)將元素prop(vue 3)設(shè)置為控制包裝器標籤(例如,元素=“ ul”); 3)應(yīng)用過渡類別,例如。 4)使用.List-Move與過渡:轉(zhuǎn)換以啟用平滑的翻轉(zhuǎn)動畫; 5)對於乾淨的去除,請施加位置:絕對對.LIST-LEAVE-EACTIVE和位置:相對於容器,以防止佈局跳躍; 6)使用CSS @keyframes來進行複雜的休假效果,例如淡出; 7)對於交錯的輸入動畫,請通過基於索引的JavaScript鉤或動態(tài)樣式應(yīng)用TransitionDelay; 8)確保初始渲染不會觸發(fā)過渡,除非使用出現(xiàn)。通過適當?shù)腃SS和密鑰管理,TransitionGroup提供了專業(yè)的響應(yīng)列表過渡。

如何使用Vue中的過渡組處理動畫

當您需要動畫動態(tài)列表或被添加,刪除或重新排序的動畫列表或元素時,使用TransitionGroup處理動畫非常有用。與基本的Transition組件(對於單個元素)不同, TransitionGroup在多個元素上工作,並為列表過渡提供了特殊的行為。

如何使用Vue中的過渡組處理動畫

這是有效使用TransitionGroup方法:


什麼是過渡組?

TransitionGroup是一種內(nèi)置的VUE組件,用於應(yīng)用列表中的元素插入,刪除或重新排序時應(yīng)用過渡或動畫。它呈現(xiàn)為真實的DOM元素(默認情況下a <span></span> ),但是您可以使用tag prop(在VUE 2中)或element prop(在VUE 3中)更改標籤。

如何使用Vue中的過渡組處理動畫

注意:在VUE 3中, tagelement替換。


基本用法

<transitiongroup></transitiongroup>包裝您的列表,並應(yīng)用過渡類:

如何使用Vue中的過渡組處理動畫
 <模板>
  <div>
    <button @click =“ additem”>添加項目</button>

    <transitiongroup name =“ list” tag =“ ul”>
      <li v-for =“項目中的項目”:key =“ item.id”>
        {{item.text}}
        <button @click =“ removeItem(item.ID)”>刪除</button>
      </li>
    </transitiongroup>
  </div>
</template>

<腳本設(shè)置>
從&#39;vue&#39;導(dǎo)入{ref}

const項目= ref([[
  {id:1,文本:&#39;item 1&#39;},
  {id:2,文字:&#39;item 2&#39;}
)))

令I(lǐng)D = 3
const additem =()=> {
  items.value.push({id:id,text:`item $ {id -1}`})
}

const removeEtem =(id)=> {
  items.value = items.value.filter(item => item.id!== id)
}
</script>

添加CSS過渡

現(xiàn)在定義過渡樣式。 name="list"屬性生成以下類:

  • .list-move - 在運動期間應(yīng)用(重新排序)
  • .list-enter-from??
  • .list-leave-from??

但是注意:對於重新排序, .list-move是關(guān)鍵類 - 它控制流動的移動。

 。
  過渡:所有0.5 s selice;
}

.list-enter-from。
  不透明度:0;
  變換:Translatex(30px);
}

/ *確保離開物品不會影響佈局 */
.list-leave-active {
  位置:絕對;
}

重要的是:為了平滑地排序,請確保容器允許移動。您可能需要使用position: relative容器和position: absolute離開項目以避免跳躍。


處理順利進行重新排序

當列表變化時,使項目平穩(wěn)地滑入新位置:

  • 使用.list-move與過渡
  • Vue會使用翻轉(zhuǎn)動畫自動應(yīng)用此類(更新之前和之後,測量位置)

例子:

 .list-move {
  過渡:變換0.5s易於;
}

這使得物品在中間插入或刪除項目時,將物品滑入到位。


處理休假動畫和佈局

刪除物品時,如果不處理,它們可能會導(dǎo)致列表跳躍。最佳實踐:

  • 申請position: absolute要離開項目,以便其餘的列表可以順利重新定位
  • 保持容器的position: relative
 .list-leave-active {
  位置:絕對;
  Z-Index:0;
}

.list-leave-to {
  不透明度:0;
  變換:比例尺(0.6);
}

/ *容器保留佈局 */
ul {
  位置:相對;
  填充:0;
  列表風(fēng)格:無;
}

使用CSS動畫而不是過渡

您也可以使用@keyframes來獲得更複雜的效果:

 .list-leave-active {
  動畫:淡出0.5s的淡入0.5秒;
}

@keyframes vade out {
  到 {
    不透明度:0;
    變換:翻譯(15px);
  }
}

高級:交錯的輸入動畫

對於交錯的條目(例如,每個項目接一個地出現(xiàn)一個),您不能直接在使用TransitionGroup的CSS中執(zhí)行此操作,但是您可以使用JavaScript掛鉤:

 <過渡組
  名稱=“列表”
  tag =“ ul”
  @trefer-appear =“ onbeforeappear”
  @出現(xiàn)=“ onappear”
  @after-appear =“ onafterAppear”
>
  <li
    v-for =“項目中的項目”
    :key =“ item.id”
    :data-delay =“ item.delay”
  >
    {{item.text}}
  </li>
</transitiongroup>

然後在JavaScript中應(yīng)用延遲:

功能onBeforeAppear(el){
  El.Style.opacity = 0
  const delay = el.dataset.delay || 0
  el.style.transitiondelay =`$ {delay} ms`
}

功能onappear(el,完成){
  //等待下一幀觸發(fā)過渡
  requestAnimationFrame(()=> {
    El.Style.opacity = 1
  }))
}

或更好:使用CSS和基於索引的延遲通過動態(tài)樣式appear 。


要記住的要點

  • 始終使用唯一的:key (最好是穩(wěn)定ID,而不是索引)
  • TransitionGroup呈現(xiàn)一個真實元素 - set element="div"element="ul"
  • .move類僅在項目更改位置時應(yīng)用
  • 對於光滑的休假動畫,請使用position: absolute離開物品
  • 除非您appear

基本上, TransitionGroup可以使您對列表動畫進行良好的控制 - 只需將其與適當?shù)腃SS和密鑰管理結(jié)合使用。這不是魔術(shù),但是有了正確的設(shè)置,您可以獲得光滑,專業(yè)的清單過渡。

以上是如何使用Vue中的過渡組處理動畫的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
怎樣開發(fā)一個完整的PythonWeb應(yīng)用程序? 怎樣開發(fā)一個完整的PythonWeb應(yīng)用程序? May 23, 2025 pm 10:39 PM

要開發(fā)一個完整的PythonWeb應(yīng)用程序,應(yīng)遵循以下步驟:1.選擇合適的框架,如Django或Flask。 2.集成數(shù)據(jù)庫,使用ORM如SQLAlchemy。 3.設(shè)計前端,使用Vue或React。 4.進行測試,使用pytest或unittest。 5.部署應(yīng)用,使用Docker和平臺如Heroku或AWS。通過這些步驟,可以構(gòu)建出功能強大且高效的Web應(yīng)用。

Laravel   Vue.js 開發(fā)單頁面應(yīng)用(SPA)教程 Laravel Vue.js 開發(fā)單頁面應(yīng)用(SPA)教程 May 15, 2025 pm 09:54 PM

使用Laravel和Vue.js可以構(gòu)建單頁面應(yīng)用(SPA)。 1)在Laravel中定義API路由和控制器,處理數(shù)據(jù)邏輯。 2)在Vue.js中創(chuàng)建組件化前端,實現(xiàn)用戶界面和數(shù)據(jù)交互。 3)配置CORS和使用axios進行數(shù)據(jù)交互。 4)利用VueRouter實現(xiàn)路由管理,提升用戶體驗。

wordpress怎麼做前後端分離 wordpress怎麼做前後端分離 Apr 20, 2025 am 08:39 AM

將 WordPress 前後端分離不建議直接改造原生代碼,更適合“改良式分離”。利用 REST API 獲取數(shù)據(jù),使用前端框架構(gòu)建用戶界面。甄別哪些功能通過 API 調(diào)用,哪些保留在後端,哪些可取消。 Headless WordPress 模式可實現(xiàn)更徹底的分離,但開發(fā)成本和難度較高。注意安全和性能,優(yōu)化 API 響應(yīng)速度和緩存,並優(yōu)化 WordPress 本身。逐步遷移功能,使用版本控制工具管理代碼。

如何將??低晹z像頭SDK的視頻流推送到前端Vue項目中進行實時播放? 如何將??低晹z像頭SDK的視頻流推送到前端Vue項目中進行實時播放? Apr 19, 2025 pm 07:42 PM

如何將??低晹z像頭SDK的視頻流推送到前端Vue項目?在開發(fā)過程中,經(jīng)常會遇到需要將攝像頭捕獲的視頻流傳...

前端路由(Vue Router、React Router)的工作原理及配置方法? 前端路由(Vue Router、React Router)的工作原理及配置方法? May 20, 2025 pm 07:18 PM

前端路由系統(tǒng)的核心是將URL映射到組件,VueRouter和ReactRouter通過監(jiān)聽URL變化並加載相應(yīng)組件實現(xiàn)無刷新頁面切換。配置方法包括:1.嵌套路由,允許在父組件中嵌套子組件;2.動態(tài)路由,根據(jù)URL參數(shù)加載不同組件;3.路由守衛(wèi),在路由切換前後執(zhí)行邏輯如權(quán)限檢查。

Vue的反應(yīng)性轉(zhuǎn)換(實驗,然後被刪除)的意義是什麼? Vue的反應(yīng)性轉(zhuǎn)換(實驗,然後被刪除)的意義是什麼? Jun 20, 2025 am 01:01 AM

ReactivitytransforminVue3aimedtosimplifyhandlingreactivedatabyautomaticallytrackingandmanagingreactivitywithoutrequiringmanualref()or.valueusage.Itsoughttoreduceboilerplateandimprovecodereadabilitybytreatingvariableslikeletandconstasautomaticallyreac

Vue.js 與 React 在組件化開發(fā)中的核心差異是什麼? Vue.js 與 React 在組件化開發(fā)中的核心差異是什麼? May 21, 2025 pm 08:39 PM

Vue.js和React在組件化開發(fā)中的核心差異在於:1)Vue.js使用模板語法和選項式API,而React使用JSX和函數(shù)式組件;2)Vue.js採用響應(yīng)式系統(tǒng),React則使用不可變數(shù)據(jù)和虛擬DOM;3)Vue.js提供多個生命週期鉤子,React則更多使用useEffect鉤子。

如何在VUE應(yīng)用程序中實施國際化(I18N)和本地化(L10N)? 如何在VUE應(yīng)用程序中實施國際化(I18N)和本地化(L10N)? Jun 20, 2025 am 01:00 AM

國際化和傾斜度invueAppsareprimandermedusingthevuei18nplugin.1.installvue-i18nvianpmoryarn.2.createlo calejsonfiles(例如,en.json,es.json)fortranslationMessages.3.setupthei18ninstanceinmain.jswithlocaleconfigurationandmessagefil

See all articles