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

您的位置:首頁技術(shù)文章
文章詳情頁

Vue實現(xiàn)路由過渡動效的4種方法

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

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

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

Vue實現(xiàn)路由過渡動效的4種方法

在 Vue 程序中添加路由

一般 Vue 路由設(shè)置如下所示:

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

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

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

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

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

將過渡移到每個組件中

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

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

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

用 v-bind 進行動態(tài)過渡

另一個方法是將過渡的名稱綁定到變量。 然后就可以根據(jù)自己的路有動態(tài)地修改這個變量。這是 Vue 路由文檔中的例子。在當(dāng)前路由上用觀察模式來動態(tài)設(shè)置 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’ }}

現(xiàn)在我們了解了 Vue 路由過渡的基礎(chǔ)知識,下面讓來看一些例子。

#1 ? 漸變過渡

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

總共有 3 種過渡模式:

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

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

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

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

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

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

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

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

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

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

Vue實現(xiàn)路由過渡動效的4種方法

#2 ? 幻燈片過渡

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

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

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

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

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

最后過渡樣式將為要滑動組件的絕對位置設(shè)置動畫。如果需要不同的滑動方向,只需更改要設(shè)置的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實現(xiàn)路由過渡動效的4種方法

#3 ? 縮放過渡

縮放過渡與漸變過渡非常相似。同樣需要把模式設(shè)置為 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);}

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

這是最終效果:

Vue實現(xiàn)路由過渡動效的4種方法

#4 ? 組合過渡

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

<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實現(xiàn)路由過渡動效的4種方法

看上去還不錯吧。

#5 ? 寫在最后

近期在提升 Vue 的過程中,發(fā)現(xiàn)一個高逼格的 Vue3+TS 教程。

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

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频一区欧美精品| 国产亚洲综合精品| 欧美一区二区三区高清视频| 国产精品欧美在线观看| 亚洲精品韩国| 日韩欧美三区| 91精品在线免费视频| 午夜精品福利影院| 日韩深夜视频| 欧美经典一区| 久久久久久网| 午夜欧美视频| 日韩国产高清在线| 国产调教一区二区三区| 国产日韩欧美高清免费| 国产精品白丝久久av网站| 欧美极品中文字幕| 日韩一区二区三区免费| 精品视频高潮| 久久中文亚洲字幕| 玖玖玖国产精品| 国产日韩三级| av最新在线| 国产精品网在线观看| 久久久久黄色| 午夜欧美精品久久久久久久| 最新亚洲国产| 国语精品一区| 国产亚洲精品v| 老司机精品视频网| 亚洲va中文在线播放免费| 欧美黄色一区二区| 国产日韩欧美一区二区三区在线观看| 手机精品视频在线观看| 亚洲国产影院| 欧美精品羞羞答答| 欧美福利一区| 国内亚洲精品| 樱桃视频成人在线观看| 久久国产乱子精品免费女| 国产精品88久久久久久| 久久中文亚洲字幕| 四虎影视精品| 欧美91视频| 午夜欧美精品| 欧美国产美女| 黄色在线观看www| 四虎成人av| 久久男女视频| 欧美特黄a级高清免费大片a级| 欧美日韩日本国产亚洲在线| 国产精品丝袜xxxxxxx| 亚洲精品一区二区在线看| 日韩和的一区二在线| 日产精品一区二区| 91精品蜜臀一区二区三区在线 | 日韩毛片视频| 久久国产影院| 国产毛片一区| 欧美日韩 国产精品| 国产精品亚洲片在线播放| 日韩1区2区| 模特精品在线| 日韩不卡一区二区三区| 精品三区视频| 亚洲免费观看| 日韩av电影一区| 久久av资源| 国产综合亚洲精品一区二| 日韩一区二区三免费高清在线观看| 国产欧美啪啪| 亚洲福利国产| 欧美一级二区| 999国产精品视频| 午夜精品一区二区三区国产| 日本不卡一区二区| 成人日韩在线| 亚洲免费观看高清完整版在线观| 日本久久精品| 日韩精品一区第一页| 久久精品日韩欧美| 日韩一区欧美二区| 精品国产精品久久一区免费式| 香蕉久久久久久久av网站| 电影91久久久| 婷婷五月色综合香五月| 99精品视频在线| 国产三级精品三级在线观看国产| 在线日韩av| 国产欧美三级| 亚洲午夜久久| 狠狠操综合网| 日韩国产网站| 国产+成+人+亚洲欧洲在线| 人人精品久久| 日韩精品一二区| 欧美aa国产视频| 国产成人a视频高清在线观看| 91午夜精品| 男人的天堂久久精品| 亚洲神马久久| 欧美/亚洲一区| 999国产精品视频| 四虎4545www国产精品| 精品久久视频| 国产成人精品三级高清久久91| 国产亚洲一区二区三区啪| 日韩精品第二页| 四虎精品一区二区免费| 日韩影院在线观看| 中文字幕亚洲精品乱码| 视频一区二区中文字幕| 久久精品欧美一区| 91精品推荐| 亚洲深爱激情| 日韩精品欧美大片| 国产精品亚洲欧美一级在线| 国产精品99精品一区二区三区∴| 国产精品久久久久久久久免费高清 | 成人在线视频免费看| 久久精品国产在热久久| 久久99久久人婷婷精品综合| 一区二区国产在线| 日韩精品视频在线看| 欧美亚洲国产日韩| 国产高清视频一区二区| 欧美丰满日韩| 国产亚洲福利| 日韩国产精品久久久| 久久久久免费| 亚洲在线免费| 国产精品久久久久久久久久齐齐| 欧美二三四区| 综合一区av| 精品国产精品国产偷麻豆| 欧美日韩免费观看一区=区三区| 亚洲91在线| 99久久精品网| 国产亚洲电影| 日韩美女一区二区三区在线观看| 国产精品日韩久久久| 国产精品极品国产中出| 久久精品国产www456c0m| 日韩精品久久理论片| 亚洲韩日在线| 国产欧美自拍| av亚洲免费| 精品99久久| 日韩成人av影视| 模特精品在线| jizzjizz中国精品麻豆| 日韩成人午夜精品| 国产一区观看| 久久免费影院| 久久亚洲美女| 久久高清免费| 精品九九久久| 国产无遮挡裸体免费久久 | 免费观看亚洲| 精品国产亚洲一区二区三区大结局| 老司机精品久久| 久久亚洲在线| 97精品在线| 国产精品亚洲一区二区在线观看| 日韩在线一二三区| 亚洲激情av| 在线综合视频| 亚洲综合国产| 日韩电影免费网址| 你懂的亚洲视频| 午夜亚洲福利| 视频一区中文字幕精品 | 国产精品va| 久久精品超碰| 久久国际精品| 国产探花一区二区| 久久国产日韩欧美精品| 久久国产人妖系列| 国产精品亚洲二区| 欧美a一区二区| 麻豆91精品视频| 日韩国产精品久久久| 国产日韩免费| 久久久久久婷| 日韩在线精品| 欧美日韩国产传媒| 日韩制服丝袜先锋影音| 日本aⅴ亚洲精品中文乱码| 国产欧美日韩精品一区二区免费| 国产精品成人3p一区二区三区| 麻豆久久久久久久| 91亚洲国产| 午夜国产欧美理论在线播放| 日韩制服丝袜先锋影音| 日韩高清一区在线| 国产精品美女久久久久久不卡| 国产精品欧美三级在线观看| 精品国产成人| 黄色日韩精品| 97精品资源在线观看|