vue+vue-router轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的實(shí)例代碼
Vue+WebPack+HBuilder 項(xiàng)目記錄
項(xiàng)目搭建完畢了,但是由于是單頁(yè)應(yīng)用嵌入HBuilder的時(shí)候無(wú)法利用它的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),于是找到了vue的轉(zhuǎn)場(chǎng)動(dòng)畫(huà)寫(xiě)法,使體驗(yàn)與APP靠近,在此記錄;
1.首先我們要監(jiān)聽(tīng)路由然后判斷其是前進(jìn)還是后退,來(lái)實(shí)現(xiàn)不同的動(dòng)畫(huà)
export default {
name: 'app',
data () {
return {
transitionName: 'slide-left'
}
},
watch: {
'$route' (to, from) {
const toDepth = to.path.split('/').length
const fromDepth = from.path.split('/').length
this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left'
}
}
}
2.template
<transition :name="transitionName"> <router-view class="child-view"></router-view> </transition>
3.css;修改css得到不同的效果。
.child-view {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
transition: all .6s cubic-bezier(.55,0,.1,1);
}
.slide-left-enter, .slide-right-leave-active {
opacity: 0;
-webkit-transform: translate(-80px, 0);
transform: translate(-80px, 0);
}
.slide-left-leave-active, .slide-right-enter {
opacity: 0;
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
上面動(dòng)畫(huà)可作為不同級(jí)頁(yè)面的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),下面可作為同級(jí)頁(yè)面轉(zhuǎn)場(chǎng)動(dòng)畫(huà),無(wú)需監(jiān)聽(tīng)路由
1.template
<transition name="slide-fade"> <router-view></router-view> </transition>
2.css
.slide-fade-enter-active {
transition: all .3s ease;
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
}
.slide-fade-leave-active {
transition: all .5s ease;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
}
.slide-fade-enter{
transform: translateX(20px);
-webkit-transform: translateX(20px);
-moz-transform: translateX(20px);
-ms-transform: translateX(20px);
-o-transform: translateX(20px);
opacity: 0;
}
.slide-fade-leave-active {
opacity: 0;
}
以上這篇vue+vue-router轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的實(shí)例代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)一個(gè)獲取按鍵展示快捷鍵效果的Input組件
這篇文章主要介紹了vue如何實(shí)現(xiàn)一個(gè)獲取按鍵展示快捷鍵效果的Input組件,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2021-01-01
iview實(shí)現(xiàn)select tree樹(shù)形下拉框的示例代碼
這篇文章主要介紹了iview實(shí)現(xiàn)select tree樹(shù)形下拉框的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
vue2項(xiàng)目中全局封裝axios問(wèn)題
這篇文章主要介紹了vue2項(xiàng)目中全局封裝axios問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
vuex?mutation?action同級(jí)調(diào)用方式
這篇文章主要介紹了vuex?mutation?action同級(jí)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
npm install -g @vue/cli安裝vue腳手架報(bào)錯(cuò)問(wèn)題(一般都能解決)
這篇文章主要介紹了npm install -g @vue/cli安裝vue腳手架報(bào)錯(cuò)問(wèn)題(一般都能解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue如何關(guān)閉eslint檢測(cè)(多種方法)
我們?cè)陂_(kāi)發(fā)vue項(xiàng)目的時(shí)候,創(chuàng)建的時(shí)候可能會(huì)不小心選擇了eslint,所以如果不想讓eslint檢測(cè),我們?cè)撛趺崔k呢,本文就詳細(xì)的介紹了幾種關(guān)閉方法,感興趣的可以了解一下2021-12-12
Vue組件內(nèi)部實(shí)現(xiàn)一個(gè)雙向數(shù)據(jù)綁定的實(shí)例代碼
這篇文章主要介紹了Vue組件內(nèi)部實(shí)現(xiàn)一個(gè)雙向數(shù)據(jù)綁定的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04

