当前位置: 首页 > 编程笔记 >

vue-router之实现导航切换过渡动画效果

高寒
2023-03-14
本文向大家介绍vue-router之实现导航切换过渡动画效果,包括了vue-router之实现导航切换过渡动画效果的使用技巧和注意事项,需要的朋友参考一下

过渡动效

提供了transition的封装组件,添加过渡动画,通过添加或删除css类名来实现。

过渡的css类名:

v-enter  进入过渡的开始状态

v-enter-active  进入活动状态

v-enter-to  进入的结束状态

v-leave  离开过渡的开始状态

v-leave-active  离开活动状态

v-leave-to  离开结束状态

过渡模式:

in-out  先进后出

out-in  先出后进

用法:

做一个淡隐淡出效果

把想要运动的元素放到<transition></transition>里面,设置模式。

<transition mode="out-in">
 <router-view class="center"></router-view>
</transition>

在style里写动效:

.v-enter{
 opacity: 0;
}
.v-enter-active{
 transition: 0.5s;
}
.v-enter-to{
 opacity: 1;
}
.v-leave{
 opacity: 1;
}
.v-leave-to{
 opacity:0;
}
.v-leave-active{
 transition: 0.5s;
}

就ok啦!

动态设置name

再做一个x轴向左和向右滑动进入消失效果。

.left-enter{
 transform:translateX(100%);
}
.left-enter-to{
 transform:translateX(0);
}
 
.left-enter-active{
 transition: 1s;
}
.left-leave{
 transform:translateX(0);
}
.left-leave-to{
 transform:translateX(-100%);
}
.left-leave-active{
 transition: 1s;
}

在transition标签中用name动态设置效果。此时要删掉mode="out-in"能自然衔接。

<transition name="left">
  <!--<router-view name="slider"></router-view>-->
  <router-view class="center"></router-view>
 </transition>

向右切换:

.right-enter{
 transform:translateX(-100%);
 }
 .right-enter-active{
 transition: 1s;
 }
 .right-leave-to{
 transform:translateX(100%);
 }
 .right-leave-active{
 transition: 1s;
 }

要想实现左边的向左,右边的向右切换呢

路由元信息

在路由配置中meta可以配置一些数据,用在路由对象中。

访问meta中的数据:$route.meta

也就是说,除了提供的路由配置信息,我们还可以通过meta来自定义想要的数据。

实现左边的向左,右边的向右切换:

step1:给每个组件分别加上index,如果目标路由的index大就向右滑动,否则向左。

meta:{
  index:0
  }

0,1,2,3这样。

step2:监控路由信息对象(上一篇文章中讲过原因),可以拿到离开的和目标的index

watch:{
 $route(to,from){
 console.log(to.meta.index);//目标导航下标
 console.log(from.meta.index);//离开导航下标
 }
}

step3:拿下标,比较设置class名称

watch:{
 $route(to,from){
  if(to.meta.index<from.meta.index){
  this.names="right"
  }else{
  this.names="left"
  }
 }
 },
 data(){
 return{
  index:'/home',
  names:'left'
 }
 }

以上这篇vue-router之实现导航切换过渡动画效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍使用vue-router切换页面时实现设置过渡动画,包括了使用vue-router切换页面时实现设置过渡动画的使用技巧和注意事项,需要的朋友参考一下 背景 今天在编写页面时,看到页面没有任何效果就只是直入直出,完全没有一点逼格,所以想要实现类似于原生app的那种切换页面时的特效,遂开始google,发现网上各种方案都是各有优缺点,于是整理了自认为优雅的方案并记录下来. 实现难点 如何

  • 本文向大家介绍vue元素实现动画过渡效果,包括了vue元素实现动画过渡效果的使用技巧和注意事项,需要的朋友参考一下 1 在 vue 中,使用 <transition> 标签包含着的单个子元素在使用 v-show 或 v-if 切换显示隐藏前,会先判断是否有对应的 class 样式能匹配到该子元素上: v-leave 当前元素准备从显示转变成隐藏,在动画开始前添加到元素上,动画一旦开始会立即删除;

  • 本文向大家介绍Vue.js实现微信过渡动画左右切换效果,包括了Vue.js实现微信过渡动画左右切换效果的使用技巧和注意事项,需要的朋友参考一下 前言 在awesomes上寻找移动端框架的时候意外发现了vux的页面切换效果,后面由于其他考虑没有选用vuex但是这个切换效果确实感觉很有新意,也就看了下源码,这里贴一份备用。 需要用到的技术栈:Vue+Vuex 先看看效果图 过渡动画 示例代码 这里还用

  • 本文向大家介绍Vue入门之animate过渡动画效果,包括了Vue入门之animate过渡动画效果的使用技巧和注意事项,需要的朋友参考一下 简介: transition方法的使用 transition内置方法 transition-group  animate库实现过渡动画 总结 以上所述是小编给大家介绍的Vue入门之animate过渡动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小

  • 本文向大家介绍基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果,包括了基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果的使用技巧和注意事项,需要的朋友参考一下 效果图如下所示:   在线地址: github.czero.cn/fancy  点击下载安卓apk安装包 源码地址: github.com/czero1995/f… 项目主架构   使

  • 本文向大家介绍vue实现列表滚动的过渡动画,包括了vue实现列表滚动的过渡动画的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Vue实现列表滚动过渡动画的具体代码,供大家参考,具体内容如下 效果图 失帧比较严重,在手机上效果更佳。 原理分析 这个滚动页面由两个部分布局(底部固定的Tab页面除外)。一个是顶部的banner轮播,一个是下面的列表。这里的重点是做列表的动画,banner轮