首页 > 其他 > 详细

vue router 跳转动画

时间:2020-02-15 10:50:50      阅读:66      评论:0      收藏:0      [点我收藏+]
<template>
    <div id="app">
        <transition :name="SkipSwitchName">
            <router-view class="page" />
        </transition>
    </div>
</template>
<script>
export default {
    data() {
        return {
            SkipSwitchName: ""
        };
    },
    watch: {
        $route(to, from) {
            if (to.meta.id > from.meta.id) {
                this.SkipSwitchName = "slide-left";
            } else {
                this.SkipSwitchName = "slide-right";
            }
        }
    }
};
</script>
<style>
.page {
    position: absolute;
    width: 100%;
    box-sizing: border-box;
    background-color: #ededed;
}
.slide-right-enter-active,
.slide-right-leave-active,
.slide-left-enter-active,
.slide-left-leave-active {
    will-change: transform;
    transition: all 250ms;
    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);
}
</style>

 路由添加 meta id:

const routes = [
    // VueRouter
    {
        path: ‘/‘,
        name: ‘Login‘,
        component: () => import(‘../views/login‘),
        meta: {
            id: 1
        }
    },
    {
        path: ‘/home‘,
        name: ‘Home‘,
        component: () => import(‘../views/home‘),
        meta: {
            id: 2
        }
    },
    {
        path: ‘/transfer‘,
        name: ‘Tansfer‘,
        component: () => import(‘../views/transfer‘),
        meta: {
            id: 3
        }
    }
]

 

vue router 跳转动画

原文:https://www.cnblogs.com/deajax/p/12310716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!