vue路由切换动画,前进左滑,后退右滑

本文介绍如何在Vue应用中实现原生APP风格的页面切换动画,通过设置页面层级并利用导航守卫动态改变路由动画,达到前进左滑、后退右滑的效果。同时,文章提到在切换过程中不能使用keep-alive标签以避免影响动画表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、目标

实现原生app页面切换动画。前进左滑后退右滑,同级tab切换无动画

 

二、分析

1、如何判断页面是前进还是后退?

2、如何在前进后退时使用不同的动画?

 

三、思路

1、为每个页面定义一个变量来表示当前所在的层级(比如:A -> B -> C ,A的层级为1,B的层级为2,C的层级为3)

2、在页面每次切换时判断当前显示的页面和即将显示的页面的层级关系,即可知道是前进还是后退(例如: A -> B,判断A页面与B页面层级关系,如果A页面层级小于B页面则为前进,反之为后退)。

3、利用vue导航守卫判断层级关系,动态的改变路由动画,(即改变变量transform,transform为一个全局变量,见代码)

 

四、实现

路由文件,自定义tree为当前页面的层级

ps:目前不能使用keep-avail标签缓存,会导致动画效果不对

const routers=[
    	{
    		path: '/test',
    		name: 'test',   //财务查询页
    		component: resolve => require(['@/page/test/test'], resolve),
    		meta:{
    		   	title : '测试页', // 标题设置在这里
    			tree: 4,
       }
	},
	{
		path: '/list1',
		name: 'list1',   //财务查询页
		component: resolve => require(['@/page/test/list1'], resolve),
		meta:{
		   	title : '测试页', // 标题设置在这里
			tree: 1,
		}
	},
	{
		path: '/list2',
		name: 'l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值