vue-router实现webApp切换页面动画效果代码
发布时间 - 2026-01-11 01:18:21 点击率:次vue-router实现webApp切换效果

演示效果
快速集成
1.复制PageTransittion.vue到项目目录。2.修改router配置。
Router.prototype.goBack = function () {
this.isBack = true
window.history.go(-1)
}
const router = new Router({
routes: [
{
path: '/',
name: 'PageTransition',
component: PageTransition, // 引入页面切换组件
children: [{
path: '',
component: Index // 父路由访问页面,例如,访问www.aaa.com/ 显示的是Index组件
}, {
path: '/pageA',
component: PageA // 子路由组件 例如,访问www.aaa.com/pageA 显示为PageA
}, {
path: '/pageB',
component: PageB // 子路由组件 例如,访问www.aaa.com/pageB 显示为PageB
}]
}
]
})
方案实现
记录页面状态
要实现页面前进后台动画,首先必须知道页面状态(即是页面是进入下一页,还是后退),我们可以通过改写router.Go方法记录回退状态,页面如果需要回退时,调用
$router.go(-1)
修改router/index.vue
// 增强原方法,好处是旧的业务模块不需要任何变动
Router.prototype.go = function () {
this.isBack = true
window.history.go(-1)
}
// 或者你可以新建一个方法
Router.prototype.goBack = function () {
this.isBack = true
this.go(-1)
}
当new Router时,实例就包含go/goBack方法。
监听路由变化
使用嵌套路由的方式引入子页面,监听根路由的update钩子做相应操作。
beforeRouteUpdate (to, from, next) {
// 如果isBack为true时,证明是用户点击了回退,执行slide-right动画
let isBack = this.$router.isBack
if (isBack) {
this.transitionName = 'slide-right'
} else {
this.transitionName = 'slide-left'
}
// 做完回退动画后,要设置成前进动画,否则下次打开页面动画将还是回退
this.$router.isBack = false
next()
}
动画效果
通过transition执行动画
<transition :name="transitionName"> <router-view class="child-view"></router-view> </transition>
css代码
.child-view {
position: absolute;
width:100%;
transition: all .8s cubic-bezier(.55,0,.1,1);
}
.slide-left-enter, .slide-right-leave-active {
opacity: 0;
-webkit-transform: translate(50px, 0);
transform: translate(50px, 0);
}
.slide-left-leave-active, .slide-right-enter {
opacity: 0;
-webkit-transform: translate(-50px, 0);
transform: translate(-50px, 0);
}
路由设置
router/index.js
const router = new Router({
routes: [
{
path: '/',
name: 'PageTransition',
component: PageTransition,
children: [{
// 该路由为父路由的默认路由
path: '',
component: Index
}, {
path: '/pageA',
component: PageA
}, {
path: '/pageB',
component: PageB
}]
}
]
})
github地址:https://github.com/zhengguorong/pageAinimate
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# router
# 切换动画
# 切换
# 页面
# vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
# 详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
# vue实现app页面切换动画效果实例
# Vue 路由切换时页面内容没有重新加载的解决方法
# 基于Vue实现页面切换左右滑动效果
# 使用vue-router切换页面时
# 获取上一页url以及当前页面url的方法
# vue 路由页面之间实现用手指进行滑动的方法
# vue中选项卡点击切换且能滑动切换功能的实现代码
# vue实现滑动切换效果(仅在手机模式下可用)
# vue实现页面切换滑动效果
# 的是
# 你可以
# 下一页
# 我们可以
# 即是
# 做完
# 大家多多
# 设置成
# 新建一个
# 不需要任何
# 为父
# 下次
# PageTransition
# component
# routes
# const
# path
# pageA
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速辨别茅台真假?关键步骤解析
详解阿里云nginx服务器多站点的配置
如何在Windows虚拟主机上快速搭建网站?
如何快速生成可下载的建站源码工具?
Android Socket接口实现即时通讯实例代码
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
微信小程序 wx.uploadFile无法上传解决办法
详解Huffman编码算法之Java实现
制作电商网页,电商供应链怎么做?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
黑客如何通过漏洞一步步攻陷网站服务器?
如何破解联通资金短缺导致的基站建设难题?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
如何选择可靠的免备案建站服务器?
Laravel如何创建自定义Facades?(详细步骤)
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
如何实现javascript表单验证_正则表达式有哪些实用技巧
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
,交易猫的商品怎么发布到网站上去?
怎样使用JSON进行数据交换_它有什么限制
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何在阿里云虚拟主机上快速搭建个人网站?
手机软键盘弹出时影响布局的解决方法
音乐网站服务器如何优化API响应速度?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
Linux系统运维自动化项目教程_Ansible批量管理实战
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Laravel如何使用Livewire构建动态组件?(入门代码)
详解MySQL数据库的安装与密码配置
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
大连网站制作公司哪家好一点,大连买房网站哪个好?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
Laravel如何处理CORS跨域请求?(配置示例)
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何快速完成中国万网建站详细流程?
jQuery 常见小例汇总
Laravel怎么实现验证码(Captcha)功能
下一篇:ELK框架搭建[通俗易懂]
下一篇:ELK框架搭建[通俗易懂]

