温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在vue项目中使用vue-router实现一个转场动画

发布时间:2021-02-25 15:45:21 阅读:336 作者:戴恩恩 栏目:web开发
Vue开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本文章向大家介绍如何在vue项目中使用vue-router实现一个转场动画的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

vue是什么软件

Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

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;
  top0;
  left0;
  width100%;
  height100%;
  -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 {
 opacity0;
 -webkit-transformtranslate(-80px0);
 transformtranslate(-80px0);
}
.slide-left-leave-active.slide-right-enter {
 opacity0;
 -webkit-transformtranslate(100%0);
 transformtranslate(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{
 transformtranslateX(20px);
 -webkit-transformtranslateX(20px);
 -moz-transformtranslateX(20px);
 -ms-transformtranslateX(20px);
 -o-transformtranslateX(20px);
 opacity0;
}
.slide-fade-leave-active {
 opacity0;
}

以上就是小编为大家带来的如何在vue项目中使用vue-router实现一个转场动画的全部内容了,希望大家多多支持亿速云!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×