vue 路由切换过渡动效滑入滑出效果的实例代码

 更新时间:2022年03月29日 10:06:56   作者:想上天与太阳并肩  
在支付宝账单页面有这样一个特效切换过渡动效滑入滑出效果,非常方便实用,那么这个功能如何实现的呢?下面小编通过vue实现路由切换过渡动效滑入滑出效果,感兴趣的朋友一起看看吧

效果展示

css 滑入和滑出的动画

.twofade-enter {transform: translateX(100%);}
.twofade-enter-active {transition: all 0.3s;position: absolute;height:100%;background:#ececec;}
.twofade-leave-active {transition: all 0;transition-delay: 0.3s;position: absolute;}
.twofade-leave-to {transform: translateX(-100%);}
.threefade-enter {transform: translateX(-100%);}
.threefade-leave-to {transform: translateX(100%);} 
.threefade-enter-active {transition: all 0s;position: absolute;z-index: 2;}
.threefade-leave-active {transition: all .3s;position: absolute;z-index: 999;height: 100%;background:#ececec;}

transition

使用 vue提供的 transition 标签,data中定义 transitionName 变量

<template>
  <div id="app">
    <transition :name="transitionName">
      <router-view></router-view>
    </transition>
  </div>
</template>

export default {
  name:"App",
  data(){
    return{
      transitionName:""
    }
  }
}

watch 监听路由的变化

通过监听路由的变化 知道是返回还是打开新页面 在通过在变量 transitionName 赋不同的值改变动画

watch:{
    $route(to, from) {
      if(to.meta.index > from.meta.index){
        this.transitionName = 'twofade';
      }else if(to.meta.index < from.meta.index){
        this.transitionName = 'threefade';
      }
    }
  }

可能遇到的问题

关于样式 操作上在切换中可能会有遇到样式的问题 需要调整样式来达到自己需要的效果
我的解决方法是

#app{//width: 100%;height: 100%;overflow-x: hidden;position: absolute;
  &>div{width: 100%;min-height: 100vh;}
}

到此这篇关于vue 路由切换过渡动效 滑入 滑出效果的文章就介绍到这了,更多相关vue 路由过渡动效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue+element-ui实现表格编辑的三种实现方式

    vue+element-ui实现表格编辑的三种实现方式

    这篇文章主要介绍了vue+element-ui实现表格编辑的三种实现方式,主要有表格内部显示和编辑切换,通过弹出另外一个表格编辑和直接通过样式控制三种方式,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • nuxt框架中对vuex进行模块化设置的实现方法

    nuxt框架中对vuex进行模块化设置的实现方法

    这篇文章主要介绍了nuxt框架中对vuex进行模块化设置的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • vue+webpack实现异步加载三种用法示例详解

    vue+webpack实现异步加载三种用法示例详解

    这篇文章主要介绍了vue+webpack实现异步加载的三种用法,文中给大家提到了vue+webpack实现异步组件加载的代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-04-04
  • Vue + Axios 请求接口方法与传参方式详解

    Vue + Axios 请求接口方法与传参方式详解

    使用Vue的脚手架搭建的前端项目,通常都使用Axios封装的接口请求,项目中引入的方式不做多介绍,本文主要介绍接口调用与不同形式的传参方法。对Vue + Axios 请求接口方法与传参问题感兴趣的朋友一起看看吧
    2021-12-12
  • VUE 常规截取和特殊字符之前之后截取(实例代码)

    VUE 常规截取和特殊字符之前之后截取(实例代码)

    这篇文章主要介绍了VUE 常规截取和特殊字符之前之后截取,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-10
  • Vue利用History记录上一页面的数据方法实例

    Vue利用History记录上一页面的数据方法实例

    这篇文章主要给大家介绍了关于Vue利用History记录上一页面的数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Vue实现typeahead组件功能(非常靠谱)

    Vue实现typeahead组件功能(非常靠谱)

    本文给大家分享通过Vue写一个挺靠谱的typeahead组件功能,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-08-08
  • Vue中axios的基本用法详解

    Vue中axios的基本用法详解

    axios 是一个基于promise用于浏览器和 nodejs 的 HTTP 客户端,这篇文章主要介绍了Vue中axios的基本用法及axios的特征和使用注意细节,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 深入了解Vue使用vue-qr生成二维码的方法

    深入了解Vue使用vue-qr生成二维码的方法

    这篇文章主要为大家介绍了Vue使用vue-qr生成二维码的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • vue element-ui表格自定义动态列具体实现

    vue element-ui表格自定义动态列具体实现

    这周工作中遇见了一个表格动态列的需求,下面这篇文章主要给大家介绍了关于vue element-ui表格自定义动态列具体实现的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06

最新评论