【Vue2 ?】Vue2 入門之旅(八):過渡與動畫

前幾篇我們學習了事件處理。本篇將介紹 過渡與動畫,讓 Vue 頁面更加生動。


目錄

  1. transition 組件
  2. 進入與離開過渡
  3. 過渡類名
  4. 結合 CSS 動畫
  5. JavaScript 鉤子
  6. 小結

transition 組件

Vue 提供了內置組件 <transition>,可以為元素或組件的進入和離開添加動畫效果。

<div id="app"><button @click="show = !show">切換</button><transition name="fade"><p v-if="show">Hello Vue!</p></transition>
</div><script>
new Vue({el: '#app',data: {show: true}
})
</script><style>
.fade-enter-active, .fade-leave-active {transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {opacity: 0;
}
</style>

在這里插入圖片描述

點擊按鈕時,文字淡入淡出。


進入與離開過渡

當元素插入或移除時,Vue 會自動應用 過渡類名

  • .v-enter:進入開始狀態
  • .v-enter-active:進入過渡狀態
  • .v-enter-to:進入結束狀態
  • .v-leave:離開開始狀態
  • .v-leave-active:離開過渡狀態
  • .v-leave-to:離開結束狀態

通過這些類名,我們可以自由定義動畫效果。


過渡類名

使用 <transition name="fade"> 時,Vue 會自動拼接類名:

fade-enter
fade-enter-active
fade-enter-to
fade-leave
fade-leave-active
fade-leave-to

這樣可以為不同過渡定義不同樣式。


結合 CSS 動畫

過渡不僅可以用 transition,也可以用 @keyframes 動畫。

<transition name="bounce"><p v-if="show">跳動的文字</p>
</transition><style>
.bounce-enter-active {animation: bounce-in 0.8s;
}
.bounce-leave-active {animation: bounce-in 0.8s reverse;
}
@keyframes bounce-in {0% { transform: scale(0.5); }50% { transform: scale(1.2); }100% { transform: scale(1); }
}
</style>

效果:文字從小放大,帶有彈跳感。


JavaScript 鉤子

除了 CSS,還可以用 JavaScript 控制過渡。

<div id="app"><button @click="show = !show">切換顯示/隱藏</button><transition @before-enter="beforeEnter" @enter="enter" @leave="leave"><p v-if="show">JS 控制動畫</p></transition>
</div><script>new Vue({el: '#app',data: { show: true },methods: {beforeEnter(el) {// 動畫開始前el.style.opacity = 0;},enter(el, done) {// 進入動畫setTimeout(() => {el.style.transition = "opacity 1s";el.style.opacity = 1;done(); // 通知 Vue 動畫結束}, 0);},leave(el, done) {// 離開動畫el.style.transition = "opacity 1s";el.style.opacity = 0;setTimeout(done, 1000);}}})</script>

在這里插入圖片描述

這里用 JS 精準控制了進入和離開的動畫。


小結

  1. 使用 <transition> 可以為元素添加過渡動畫。
  2. Vue 自動應用過渡類名,如 .fade-enter.fade-leave-to
  3. 過渡既可以用 CSS transition / animation,也可以用 JavaScript 鉤子。

📚 下一篇文章,我們將學習 Vue Router 入門,掌握路由配置和頁面切換。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920966.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920966.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920966.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【LeetCode】力扣刷題攻略路線推薦!適合新手小白入門~(含各類題目序號)

力扣上有許多數據結構及算法的練習&#xff0c;但是如果由第一題【兩數之和】開始刷&#xff0c;會讓50%的人倒在起點。所以我們刷題要講究路線攻略以及技巧~大體路線方向由簡入難數學數組鏈表字符串哈希表雙指針遞歸棧隊列樹圖與回溯算法貪心動態規劃刷題技巧 建議刷題的時候分…

Windows 電腦發現老是自動訪問外網的域名排障步驟

Windows 電腦發現老是自動訪問外網的域名,如何排障 一、基礎信息獲取與進程定位 1.1、確認進程關鍵信息 1.2、進程合法性初步驗證 二、網絡連接深度分析 2.1、目的IP/域名溯源 2.2、端口與協議檢查 三、進程行為與系統異常排查 3.1、進程啟動與依賴分析 3.2、系統異常行為掃描…

curl、python-requests、postman和jmeter的對應關系

一、初識curlcurl 是一個功能強大的命令行工具&#xff0c;用于傳輸數據&#xff0c;支持多種協議&#xff08;如 HTTP、HTTPS、FTP 等&#xff09;。分析以下curl&#xff1a;curl "https://$HOST/mon/adm/au/opera" --header "Authorization: $AUTH" -X …

【MySQL】初識數據庫基礎

【MySQL】初識數據庫基礎 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;MySQL筆記 文章目錄【MySQL】初識數據庫基礎前言一. 數據庫基礎&#xff08;重點&#xff09;1.1 什么是數據庫1.2 主流數據庫1.3 基本使用1.3.1 MySQL安裝1.3.2 連接…

微服務Docker-compose之若依部署

目錄 1.創建一個文件夾 2.上傳壓縮包 3.解壓 4.執行ry1文件 5.執行ry2文件 6.進入nginx的html目錄解壓dist文件 7.執行ry3文件 8.訪問nacos 9.訪問若依 1.創建一個文件夾 2.上傳壓縮包 3.解壓 4.執行ry1文件 5.執行ry2文件 6.進入nginx的html目錄解壓dist文件 7.執行ry…

《中國棒球》健將級運動員什么水平·棒球1號位

棒球國家健將級の神級科普&#xff5c;國內TOP1%??國際能打嗎&#xff1f;1. 什么是"國家健將級"&#xff1f;&#xff5c;What is "Master Sportsman"&#xff1f;中國運動員等級天花板&#xff1a;僅次"國際健將"的最高國家級榮譽&#xff0…

NAT與內網穿透

目錄 一、為什么需要NAT&#xff1f; 二、NAT的核心&#xff1a;從“一對一”到“多對一” &#xff08;1&#xff09;靜態NAT &#xff08;2&#xff09;動態NAT &#xff08;3&#xff09;NAPT 三、NAPT的雙刃劍&#xff1a;安全與局 四、內網穿透 &#xff08;1&…

力扣222 代碼隨想錄Day15 第四題

完全二叉樹結點的數量class Solution { public:int countNodes(TreeNode* root) {if(rootNULL) return 0;TreeNode* leroot->left;TreeNode* riroot->right;int ld0;int rd0;while(le){lele->left;ld;}while(ri){riri->right;rd;}if(ldrd) return(2<<ld)-1;i…

Node.js異步編程:Callback/Promise/Async

Node.js異步編程&#xff1a;Callback/Promise/Async引言Node.js以其非阻塞I/O和事件驅動架構而聞名&#xff0c;這使得異步編程成為Node.js開發中的核心概念。在Node.js中&#xff0c;處理異步操作經歷了從Callback到Promise再到Async/Await的演進過程。本文將探討這三種異步編…

野火STM32Modbus主機讀取寄存器/線圈失敗(一)-解決接收中斷不觸發的問題

接收中斷不觸發 前情提要 在自己的開發板上移植了野火的modbus主機程序。 野火主機程序移植 野火主機代碼理解與使用 問題背景 我使用STM32顯示板作為Modbus主機連接電腦&#xff0c;并在電腦上運行Modbus Slave軟件。測試中發現&#xff0c;讀取保持寄存器和輸入寄存器均失…

5種常見的網絡安全漏洞及防護建議

五種常見的網絡安全漏洞及防護建議在數字化時代&#xff0c;網絡安全已成為個人和企業面臨的重要挑戰。網絡攻擊手段不斷升級&#xff0c;黑客利用各種漏洞入侵系統、竊取數據或破壞服務。了解常見的網絡安全漏洞并采取相應的防護措施&#xff0c;是保障信息安全的關鍵。本文將…

mysql5.6+分頁時使用 limit+order by 會出現數據重復問題

mysql5.6分頁時使用 limitorder by 會出現數據重復問題 問題描述 在MySQL中我們通常會采用limit來進行翻頁查詢&#xff0c;比如limit(0,10)表示列出第一頁的10條數據&#xff0c;limit(10,10)表示列出第二頁。但是&#xff0c;當limit遇到order by的時候&#xff0c;可能會出現…

【XR技術概念科普】VST(視頻透視)vs OST(光學透視):解碼MR頭顯的兩種核心技術路徑

混合現實(MR)頭顯作為連接虛擬與現實世界的橋梁&#xff0c;其核心技術路徑主要分為視頻透視(VST)和光學透視(OST)兩種。本文將深入探討這兩種技術的原理、優缺點、代表性產品、應用場景及未來發展趨勢&#xff0c;為讀者全面解析MR頭顯的技術選擇。一、VST技術詳解1.1 VST技術…

VR智慧樓宇技術:打造智能辦公空間的卓越方案?

在華銳視點打造的極具創新性的VR智慧樓宇的智能辦公空間里&#xff0c;員工的工作模式迎來了前所未有的、徹頭徹尾的顛覆性變革。憑借華銳視點自主研發的先進VR設備&#xff0c;哪怕員工遠在千里之外的不同城市&#xff0c;甚至身處不同國家&#xff0c;也能如同真切地置身于同…

C++ 面試考點 類成員函數的調用時機

構造函數和析構函數的調用時機 1. 對于全局定義的對象&#xff0c;每當程序開始運行&#xff0c;在主函數 main 接受程序控制權之前&#xff0c;就調 用構造函數創建全局對象&#xff0c;整個程序結束時&#xff0c;自動調用全局對象的析構函數。 2. 對于局部定義的對象&#…

59.螺旋矩陣II

59.螺旋矩陣II 螺旋矩陣沒有什么算法&#xff0c;就是一道單純模擬轉圈的一道題目&#xff0c;因為轉圈的過程需要處理的邊界條件很多&#xff0c;所以有難度 那只能從第二個節點開始處理&#xff1b;從第二個節點開始處理&#xff0c;把最后一個節點也處理了&#xff08;第二…

MS SQL(Microsoft SQL Server)面試常考的知識點

MS SQL是Microsoft SQL Server的簡稱&#xff0c;是由微軟公司開發的一款關系型數據庫管理系統&#xff08;RDBMS,Relational DataBase Management System&#xff09;。它支持在Windows和Linux上運行&#xff0c;廣泛應用于企業級數據庫市場&#xff0c;適用于大型企業網站和應…

百勝軟件獲邀出席第七屆中國智慧零售大會,智能中臺助力品牌零售數智變革

8月28日&#xff0c;由深圳市智慧零售協會主辦的第七屆中國智慧零售大會在深圳福田希爾頓酒店成功召開。本屆大會以“聚勢AI共啟智慧零售新生態”為主題&#xff0c;匯聚了來自北京大學、騰訊云、百果園、舍得酒業、美宜佳等眾多知名企業與機構的專家代表&#xff0c;共同探討A…

QEMU使用Qemu-Guest-Agent傳輸文件、執行指令等

簡介 之前介紹過qemu傳輸文件,使用的掛載 / samba方式 :Qemu和宿主機不使用外網進行文件傳輸。 這是一種方式,這里還有另一種方式:使用Qemu-Guest-Agent,后面簡稱qga。 官網介紹:https://www.qemu.org/docs/master/interop/qemu-ga.html 安裝 這里有一篇參考文章,會…

HTML 核心標簽全解析:從文本排版到媒體嵌入

在網頁開發中&#xff0c;HTML&#xff08;超文本標記語言&#xff09;是構建頁面結構的基石。掌握各類核心標簽的用法&#xff0c;是實現頁面內容有序呈現、提升用戶體驗的關鍵。本文將系統講解 HTML 中最常用的幾類標簽 —— 段落標簽、文本格式標簽、列表標簽、表格&#xf…