vue页面切换过渡transition效果
程序员文章站
2022-06-23 23:07:53
首先得有你想要的过渡效果css代码:
.vux-pop-out-enter-active,
.vux-pop-out-leave-active,
.vux-p...
首先得有你想要的过渡效果css代码:
.vux-pop-out-enter-active, .vux-pop-out-leave-active, .vux-pop-in-enter-active, .vux-pop-in-leave-active { will-change: transform; transition: all 500ms; height: 100%; position: absolute; backface-visibility: hidden; perspective: 1000; } .vux-pop-out-enter { opacity: 0; transform: translate3d(-100%, 0, 0); } .vux-pop-out-leave-active { opacity: 0; transform: translate3d(100%, 0, 0); } .vux-pop-in-enter { opacity: 0; transform: translate3d(100%, 0, 0); } .vux-pop-in-leave-active { opacity: 0; transform: translate3d(-100%, 0, 0); }
给你想要过渡页面的父元素给上这样的样式:
.router-view{ width: 100%; position: absolute; -webkit-transition: all .3s cubic-bezier(.55,0,.1,1); -moz-transition: all .3s cubic-bezier(.55,0,.1,1); -ms-transition: all .3s cubic-bezier(.55,0,.1,1); -o-transition: all .3s cubic-bezier(.55,0,.1,1); transition: all .3s cubic-bezier(.55,0,.1,1); height:100%; }
html代码是这样的:
<template> <div id="app"> <transition :name="transitionname"> <router-view class="router-view"></router-view> </transition> </div> </template>
js代码是这样的:
export default { name: 'app', data(){ return { transitionname:'vux-pop-in' } }, }
这里的transitionname根据自己的需要去改变,我是监听路由去改变是vux-pop-in还是vux-pop-out的。
watch:{ $route(to, from) { if(to.meta.index > from.meta.index){ this.transitionname = 'vux-pop-in'; }else{ this.transitionname = 'vux-pop-out'; } } }
这里当然要个路由这是参数index,分级。
总结
以上所述是小编给大家介绍的vue页面切换过渡transition效果,希望对大家有所帮助
推荐阅读
-
Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
-
html5各种页面切换效果和模态对话框用法总结
-
Android编程实现ViewPager多页面滑动切换及动画效果的方法
-
Vue-router 切换组件页面时进入进出动画方法
-
Vue运用transition实现过渡动画
-
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
-
vue自定义js图片碎片轮播图切换效果的实现代码
-
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
-
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
-
Vue 路由切换时页面内容没有重新加载的解决方法