vue移动端页面跳转过渡动画

结果:与微信页面跳转一样的过渡动画

  • 如下
123.gif
  • 直接上代码
// in App.vue

<template>
    ...
      <transition :name="transitionName">
          <keep-alive :include="keepAlive">
              <router-view class="Router" ></router-view>
          </keep-alive>
      </transition>
    ...
</template>


<script>
    ...
    data() {
      return {
        keepAlive: 'main-keep-alive',  //需要缓存的页面 例如首页
        transitionName: 'slide-right', //初始过渡动画方向
      }
    },
    watch: {
      $route(to, from) {
        // 切换动画
        let isBack = this.$router.isBack // 监听路由变化时的状态为前进还是后退
        if (isBack) {
          this.transitionName = 'slide-left'
        } else {
          this.transitionName = 'slide-right'
        }
        this.$router.isBack = false
      }
    },
    ...
</script>


<style lang="scss">
  #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100%;
    height: 100%;
    max-width: 15rem;
    margin: auto;
    position: relative;

    .Router {
      position: absolute;
      height: 100%;
      transition: all .377s ease;
      will-change: transform;
      top: 0;
      backface-visibility: hidden;
      perspective: 1000;
    }
    .slide-left-enter,
    .slide-right-leave-active {
      opacity: 0;
      transform: translate3d(-100%, 0, 0);
    }

    .slide-left-leave-active,
    .slide-right-enter {
      opacity: 0;
      transform: translate3d(100%, 0 ,0);
    }
  }

</style>

在main.js 中加入以下代码即可

window.addEventListener('popstate', function (e) {
    router.isBack = true
},false)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,019评论 3 119
  • 前两天我分别发表了两篇文章,一篇是膝盖疼以及引发的思考讲了我的膝盖因为跑步出了问题,所引发的的思考。另一篇是 亲...
    超级赋能王张胜萍阅读 839评论 16 12
  • 阅读这个事情好像说了很久了,想起刚加入小灶群的时候谈到爱好,我大言不惭的说自己喜欢阅读,现在想起来真是脸红啊。 后...
    孙黎黎阅读 276评论 0 1
  • # 关于移动WIFI ### 方案的选择 **像我们这样不懂日语且人生地不熟的自由行者,为什么还敢单枪匹马深入异国...
    命格无双阅读 780评论 0 0
  • 谢谢你可以读我的作品,我是一个比较偏悲伤的作者。 规矩就是用来保护弱者的! 弱者努力不一定会变成强者,但是弱者不努...
    九华雨微阅读 172评论 0 0