小編給大家分享一下怎么使用vue-router切換頁(yè)面時(shí)實(shí)現(xiàn)設(shè)置過渡動(dòng)畫,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
實(shí)現(xiàn)難點(diǎn)
如何判斷切換路由時(shí)是前進(jìn)還是后退
每次切換時(shí)向左向右切換動(dòng)畫如何實(shí)現(xiàn)
解決方案
我們需要給各個(gè)頁(yè)面定義層級(jí),在切換路由時(shí)判斷用戶是進(jìn)入哪一層頁(yè)面,如果用戶進(jìn)入更高層級(jí)那么做前進(jìn)動(dòng)畫,如果用戶退到低層級(jí)那么做后退動(dòng)畫.
router/index.js
import VueRouter from 'vue-router' import Home from '../components/home/home' import User from '../components/user/user' var router = new VueRouter({ routes:[{ name:'test', path:'/', meta:{index:0},//meta對(duì)象的index用來定義當(dāng)前路由的層級(jí),由小到大,由低到高 component:{ template:'test' } },{ name:'home', path:'/home', meta:{index:1}, component:Home },{ name:'user', path:'/user/:id', meta:{index:2}, component:User }] });
監(jiān)控路由跳轉(zhuǎn),判斷切換頁(yè)面之間的層級(jí)關(guān)系,并以此來判斷路由前進(jìn)或者后退.
編寫slide-left 和 slide-right 類的動(dòng)畫
.slide-right-enter-active, .slide-right-leave-active, .slide-left-enter-active, .slide-left-leave-active { will-change: transform; transition: all 500ms; position: absolute; } .slide-right-enter { opacity: 0; transform: translate3d(-100%, 0, 0); } .slide-right-leave-active { opacity: 0; transform: translate3d(100%, 0, 0); } .slide-left-enter { opacity: 0; transform: translate3d(100%, 0, 0); } .slide-left-leave-active { opacity: 0; transform: translate3d(-100%, 0, 0); }
看完了這篇文章,相信你對(duì)“怎么使用vue-router切換頁(yè)面時(shí)實(shí)現(xiàn)設(shè)置過渡動(dòng)畫”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!