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中多元素过渡特效的解决方案
