日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue實現路由過渡動效的4種方法

瀏覽:29日期:2022-09-29 14:35:48

Vue 路由過渡是對 Vue 程序一種快速簡便的增加個性化效果的的方法。 可以讓你在程序的不同頁面之間增加平滑的動畫和過渡。如果使用得當,可以使你的程序顯得更加專業,從而增強用戶體驗。

本文中會先介紹使用 Vue 路由過渡的基礎知識,然后在舉幾個例子,為你一些靈感。下面是其中的一個案例:

Vue實現路由過渡動效的4種方法

在 Vue 程序中添加路由

一般 Vue 路由設置如下所示:

<template> <router-view /></template>

在舊版本的 Vue 路由中,我們可以簡單地用 <transition> 組件包裝 <router-view>。

但是,在較新版本的 Vue 路由中則必須用 v-slot 來解構 props 并將它們傳遞到我們的內部 slot 中。 這將包含一個動態組件,該組件被過渡組件包圍。

<router-view v-slot='{ Component }'> <transition> <component :is='Component' /> </transition></router-view>為路由添加過渡

默認情況下,用 <transition> 包裹 <component> 會在你應用的每個路由上添加相同的過渡。可以通過兩種方式為每個路由自定義轉場效果。

將過渡移到每個組件中

首先,不用把我們的動態組件與過渡組件包裝在一起,可以將 <transition> 移動到每個單獨的組件中。 像這樣:

<template> <transition> <div class='wrapper'> <!-- --> </div> </transition></template>

依此類推,對要進行過渡的每條路由進行處理。 這樣就可以通過修改過渡名稱來自定義每條路由。

用 v-bind 進行動態過渡

另一個方法是將過渡的名稱綁定到變量。 然后就可以根據自己的路有動態地修改這個變量。這是 Vue 路由文檔中的例子。在當前路由上用觀察模式來動態設置 transitionName 變量。

<transition :name='transitionName'> <component :is='Component' /></transition>

watch: { ’$route’ (to, from) { const toDepth = to.path.split(’/’).length const fromDepth = from.path.split(’/’).length this.transitionName = toDepth < fromDepth ? ’slide-right’ : ’slide-left’ }}

現在我們了解了 Vue 路由過渡的基礎知識,下面讓來看一些例子。

#1 ? 漸變過渡

漸變頁面過渡應該是最直接的一種動效。可以通過修改元素的透明度來實現。首先,創建一個名為 fade 過渡。需要注意的是過渡模式設置為 out-in。

總共有 3 種過渡模式:

default:淡入和淡出過渡同時發生 in-out:新元素首先淡入。 然后當前元素淡出。 out-in:當前元素先淡出。 然后新元素開始淡入。

為了使新元素順利淡入,我們需要在開始新過渡之前將當前元素刪除。所以必須用 mode = 'out-in'。

<router-view v-slot='{ Component }'> <transition name='fade' mode='out-in'> <component :is='Component' /> </transition></router-view>

<transition> 為提供了幾個 CSS 類,它們能夠在動畫周期中被動態添加或刪除。有 6。個不同的過渡類(3 個用于淡入,3 個用于淡出)。

v-enter-from / v-leave-from: 過渡的初始狀態,過度開始后將其刪除 v-enter-active / v-leave-active: 過渡的激活狀態 v-enter-to / v-leave-to: 過渡的結束狀態

我們的淡入淡出過渡有一個名為 fade-enter-from 的類。

我們希望淡入和淡出狀態的透明度為 0。然后當過渡處于活動狀態時,希望對透明度進行動畫處理。

我們甚至不必將透明度設置為1,因為在動畫制作過程中會刪除 fade-enter-from 和 fade-leave-to 類。 這會使元素自己單獨設置為默認透明度為 1 的動畫。

.fade-enter-active,.fade-leave-active { transition: opacity 0.5s ease;}.fade-enter-from,.fade-leave-to { opacity: 0;}

配合一些虛擬組件,這就是最終過渡效果。

Vue實現路由過渡動效的4種方法

#2 ? 幻燈片過渡

下一個是頁面幻燈片過渡。

模板將如下。 由于希望淡入和淡出過渡同時發生,所以我們不想為過渡設置特殊的模式。

<router-view v-slot='{ Component }'> <transition name='slide'> <component :is='Component' /> </transition></router-view>

為了使例子更容易理解,我把每個組件的寬度都設為100%,并占用至少 1 vh,還分別設置了背景色。

.wrapper { width: 100%; min-height: 100vh;}

最后過渡樣式將為要滑動組件的絕對位置設置動畫。如果需要不同的滑動方向,只需更改要設置的CSS屬性( top, bottom, left, right)。

.slide-enter-active,.slide-leave-active { transition: all 0.75s ease-out;}.slide-enter-to { position: absolute; right: 0;}.slide-enter-from { position: absolute; right: -100%;}.slide-leave-to { position: absolute; left: -100%;}.slide-leave-from { position: absolute; left: 0;}

這是最終效果:

Vue實現路由過渡動效的4種方法

#3 ? 縮放過渡

縮放過渡與漸變過渡非常相似。同樣需要把模式設置為 out-in,這樣可以確保動畫的正確順序。

<router-view v-slot='{ Component }'> <transition name='scale' mode='out-in'> <component :is='Component' /> </transition></router-view>

然后用樣式改變元素的透明度和 transform: scale。

.scale-enter-active,.scale-leave-active { transition: all 0.5s ease;}.scale-enter-from,.scale-leave-to { opacity: 0; transform: scale(0.9);}

為了使這個過渡看上去更干凈,可以把整個網頁的背景色設置為黑色。

這是最終效果:

Vue實現路由過渡動效的4種方法

#4 ? 組合過渡

過渡的效果有很多很多,常用的做法是把一些基礎的過渡結合在一起,例如把幻燈片和縮放合并為一個過渡。

<router-view v-slot='{ Component }'> <transition name='scale-slide'> <component :is='Component' /> </transition></router-view>

.scale-slide-enter-active,.scale-slide-leave-active { position: absolute; transition: all 0.85s ease;}.scale-slide-enter-from { left: -100%;}.scale-slide-enter-to { left: 0%;}.scale-slide-leave-from { transform: scale(1);}.scale-slide-leave-to { transform: scale(0.8);}

這是最終效果

Vue實現路由過渡動效的4種方法

看上去還不錯吧。

#5 ? 寫在最后

近期在提升 Vue 的過程中,發現一個高逼格的 Vue3+TS 教程。

到此這篇關于Vue實現路由過渡動效的4種方法的文章就介紹到這了,更多相關Vue 路由過渡動效 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久不卡日韩美女| 国产精品亚洲综合久久| 久久一区亚洲| 色一区二区三区四区| 亚洲www免费| 亚洲欧美视频| 国产日韩免费| 久久中文字幕一区二区三区| 日韩黄色大片| 老司机精品久久| 国产乱码精品一区二区亚洲| 日本久久精品| 国产亚洲高清视频| 久久黄色影视| 精品丝袜在线| 中文字幕一区二区三区在线视频| 国产亚洲精aa在线看| 成年男女免费视频网站不卡| 激情综合亚洲| 午夜久久av| 精品国产乱码| 丝袜美腿一区二区三区| 日韩欧美久久| 日韩久久电影| 日本在线视频一区二区| 综合日韩av| 一区二区三区四区在线观看国产日韩 | 青草国产精品| 国产h片在线观看| 亚洲少妇一区| 里番精品3d一二三区| 99久久精品国产亚洲精品| 只有精品亚洲| 国产精品久久久久久久免费观看| 亚洲精品在线观看91| 国产精品久久久久久模特| 欧美理论视频| 久久亚州av| 综合视频一区| 日韩欧美一区二区三区在线视频| 亚洲麻豆一区| 日韩欧美午夜| 欧美国产精品| 亚洲欧美专区| 免费观看久久av| 精品少妇av| 日本a级不卡| 免费不卡中文字幕在线| 欧美激情三区| 美女国产一区| 特黄特色欧美大片| 国产精品2023| 日韩和欧美一区二区| 女同性一区二区三区人了人一| 久久三级毛片| 日本不卡不码高清免费观看| 欧美精品黄色| 久久国产日本精品| 国产91在线播放精品| 欧美日韩亚洲一区三区| 日韩精品一区第一页| 午夜久久美女| av资源亚洲| 国产成人精品三级高清久久91| 伊人久久大香伊蕉在人线观看热v| 欧美三级精品| 国产精品99一区二区三区| 国产亚洲一区二区三区不卡 | 午夜日韩在线| 欧美不卡在线| 久久免费黄色| 久久毛片亚洲| 国产精品不卡| 久久精品国产成人一区二区三区| 日韩精品成人在线观看| 天堂成人免费av电影一区| 蜜桃视频欧美| 在线视频观看日韩| 伊人久久视频| 激情综合五月| 国产成人精品一区二区三区视频 | 成人综合一区| 欧美国产另类| 免费日韩成人| 久久超级碰碰| 久久免费精品| 久久精品国产亚洲aⅴ| 国产精品视频首页| 国产精品三p一区二区| 久久av电影| 国产一区二区三区不卡视频网站 | 天堂资源在线亚洲| 免费观看不卡av| 亚洲精品一二三区区别| 一区二区亚洲精品| 免费在线观看不卡| 日本大胆欧美人术艺术动态| 香蕉久久久久久久av网站| 美国三级日本三级久久99| 久久国产99| 日本精品国产| 麻豆精品视频在线观看免费| 国产成人黄色| 免费污视频在线一区| 欧美日韩国产在线观看网站| 香蕉成人久久| 91精品福利观看| 麻豆精品99| 久久精品在线| 视频一区欧美日韩| 久久国产精品免费精品3p| 欧美另类中文字幕| 九九九精品视频| 久久精品电影| 蜜桃视频在线观看一区二区| 国产精品亚洲综合久久| 在线看片国产福利你懂的| 色88888久久久久久影院| 亚洲一区国产一区| 国产精品一站二站| 日韩国产一区二区三区| 日韩视频精品在线观看| 日韩和欧美一区二区三区| 国产一区二区三区探花| 欧洲激情综合| 91精品国产经典在线观看| 精品一区二区三区亚洲| 亚洲精品一区二区在线看| 青青草精品视频| 日本在线高清| 蜜臀av亚洲一区中文字幕| 青青草视频一区| 久久三级福利| 日韩成人精品一区二区三区 | 成午夜精品一区二区三区软件| 欧美日韩一区二区三区视频播放| 久久亚洲色图| 国产一区二区三区不卡视频网站 | 欧美激情视频一区二区三区免费 | 91视频久久| 蜜臀av亚洲一区中文字幕| 欧美极品一区二区三区| 免费视频亚洲| 国产精品男女| 在线视频免费在线观看一区二区| 国产欧美日韩精品一区二区免费| 视频福利一区| 欧美日韩一区二区三区不卡视频 | 一区二区亚洲精品| 美女久久久久久| 亚洲自啪免费| 亚洲最新无码中文字幕久久 | 视频一区二区不卡| 91亚洲国产| 日韩精品中文字幕一区二区| 亚洲a在线视频| 久久成人福利| 中文字幕一区二区三区在线视频| 日韩欧美中文| 久久国产生活片100| 美女网站一区| 精品国产一区二区三区av片| 综合激情一区| 欧美日韩一区二区综合| 国产精品777777在线播放| 欧美资源在线| 日韩三区免费| 国产一区二区精品久| 日本91福利区| 免费在线观看一区二区三区| 久久久水蜜桃av免费网站| 久久久久伊人| 国产美女视频一区二区| 亚洲精品动态| 在线亚洲免费| 国产综合精品一区| 激情黄产视频在线免费观看| 欧美国产极品| 国产精品自在| 日韩不卡在线观看日韩不卡视频| 伊人成人网在线看| 久久精品观看| 午夜精品久久久久久久久久蜜桃| 精品99在线| 久久影视三级福利片| 国产精品www994| 国产欧美日韩一区二区三区四区| 中文字幕乱码亚洲无线精品一区| 亚洲高清影视| 久久男女视频| 日韩欧美综合| 中文字幕在线视频久| 国产精久久一区二区| 国产欧美一区二区三区精品观看 | 日韩一区二区三区四区五区| 成人在线免费观看91| 欧美国产极品| 免费看一区二区三区| 蜜桃久久av一区| 国产精品videossex|