vue页面切换过渡transition效果
作者:Winston-王
这篇文章主要介绍了vue页面切换过渡transition效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
首先得有你想要的过渡效果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效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
- Vuejs第七篇之Vuejs过渡动画案例全面解析
- Vue.js每天必学之过渡与动画
- Vue 过渡实现轮播图效果
- Vue.js实现微信过渡动画左右切换效果
- vue元素实现动画过渡效果
- 聊一聊Vue.js过渡效果
- 关于vue状态过渡transition不起作用的原因解决
- Vue中添加过渡效果的方法
- Vue.2.0.5过渡效果使用技巧
- Vue 过渡(动画)transition组件案例详解
- Vue入门之animate过渡动画效果
- vue过渡和animate.css结合使用详解
- Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
- 详解vue2.0 transition 多个元素嵌套使用过渡
- Vue Transition实现类原生组件跳转过渡动画的示例
- vue中渐进过渡效果实现
- 基于Vue实现平滑过渡的拖拽排序功能
- Vue中多元素过渡特效的解决方案