当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue+vue-router转场动画的实例代码

vue+vue-router转场动画的实例代码

2018年09月21日  | 移动技术网IT编程  | 我要评论

笑傲江湖天赐,金铃曲谱网,德牧幼犬

vue+webpack+hbuilder 项目记录

项目搭建完毕了,但是由于是单页应用嵌入hbuilder的时候无法利用它的转场动画,于是找到了vue的转场动画写法,使体验与app靠近,在此记录;

1.首先我们要监听路由然后判断其是前进还是后退,来实现不同的动画

export default {
 name: 'app',
 data () {
  return {
  transitionname: 'slide-left'
  }
 },
 watch: {
 '$route' (to, from) {
  const todepth = to.path.split('/').length
  const fromdepth = from.path.split('/').length
  this.transitionname = todepth < fromdepth ? 'slide-right' : 'slide-left'
 }
 }
}

2.template

<transition :name="transitionname">
 <router-view class="child-view"></router-view>
</transition>

3.css;修改css得到不同的效果。

 .child-view {
 position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -moz-box-sizing: border-box;
    box-sizing: border-box;
 transition: all .6s cubic-bezier(.55,0,.1,1);
}
.slide-left-enter, .slide-right-leave-active {
 opacity: 0;
 -webkit-transform: translate(-80px, 0);
 transform: translate(-80px, 0);
}
.slide-left-leave-active, .slide-right-enter {
 opacity: 0;
 -webkit-transform: translate(100%, 0);
 transform: translate(100%, 0);
}

上面动画可作为不同级页面的转场动画,下面可作为同级页面转场动画,无需监听路由

1.template

<transition name="slide-fade">
 <router-view></router-view>
</transition>

2.css

.slide-fade-enter-active {
 transition: all .3s ease;
 -webkit-transition: all .3s ease;
 -moz-transition: all .3s ease;
 -ms-transition: all .3s ease;
 -o-transition: all .3s ease;
}
.slide-fade-leave-active {
 transition: all .5s ease;
 -webkit-transition: all .5s ease;
 -moz-transition: all .5s ease;
 -ms-transition: all .5s ease;
 -o-transition: all .5s ease;
}
.slide-fade-enter{
 transform: translatex(20px);
 -webkit-transform: translatex(20px);
 -moz-transform: translatex(20px);
 -ms-transform: translatex(20px);
 -o-transform: translatex(20px);
 opacity: 0;
}
.slide-fade-leave-active {
 opacity: 0;
}

以上这篇vue+vue-router转场动画的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网