Vue-Router进阶之滚动行为详解
发布时间 - 2026-01-11 03:14:10 点击率:次滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。
注意: 这个功能只在 HTML5 history 模式下可用。
当创建一个 Router 实例,你可以提供一个 scrollBehavior 方法:
var router = new VueRouter({
routes: [...],
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
}
})
scrollBehavior 方法接收 to 和 from 路由对象。第三个参数 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
这个方法返回滚动位置的对象信息,长这样:
- { x: number, y: number }
- { selector: string }
如果返回一个布尔假的值,或者是一个空对象,那么不会发生滚动。
举例:
scrollBehavior (to, from, savedPosition) {
return { x: 0, y: 0 }
}
对于所有路由导航,简单地让页面滚动到顶部。
返回 savedPosition,在按下 后退/前进 按钮时,就会像浏览器的原生表现那样:
scrollBehavior (to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
return { x: 0, y: 0 }
}
}
如果你要模拟『滚动到锚点』的行为:
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
return {
selector: to.hash
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Vue-Router
# 滚动行为
# vue路由滚动行为
# vue
# Vue-Router滚动行为的具体使用
# 是一个
# 让你
# 就像
# 你可以
# 你要
# 或者是
# 布尔
# 自定义
# 只在
# 按下
# 第三个
# 提供一个
# 能做到
# 时才
# 会像
# 创建一个
# 到新
# 大家多多
# 加载
# 模式下
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 HTTPS报错整理常见问题及解决方案
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
如何在云主机上快速搭建网站?
Bootstrap整体框架之JavaScript插件架构
装修招标网站设计制作流程,装修招标流程?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
详解Android图表 MPAndroidChart折线图
Laravel storage目录权限问题_Laravel文件写入权限设置
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何在服务器上配置二级域名建站?
如何在云服务器上快速搭建个人网站?
如何在万网利用已有域名快速建站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何快速查询域名建站关键信息?
Laravel如何使用Gate和Policy进行授权?(权限控制)
微信小程序 input输入框控件详解及实例(多种示例)
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
利用JavaScript实现拖拽改变元素大小
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何自定义错误页面(404, 500)?(代码示例)
在Oracle关闭情况下如何修改spfile的参数
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel观察者模式如何使用_Laravel Model Observer配置
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何在IIS7上新建站点并设置安全权限?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
西安专业网站制作公司有哪些,陕西省建行官方网站?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
简单实现jsp分页
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
微信小程序 require机制详解及实例代码
Linux安全能力提升路径_长期防护思维说明【指导】
佛山企业网站制作公司有哪些,沟通100网上服务官网?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
如何在橙子建站上传落地页?操作指南详解
再谈Python中的字符串与字符编码(推荐)
Laravel如何实现本地化和多语言支持?(i18n教程)
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
动图在线制作网站有哪些,滑动动图图集怎么做?
Python文件操作最佳实践_稳定性说明【指导】

