Vue 滚动行为的具体使用方法
发布时间 - 2026-01-11 03:14:08 点击率:次滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。
注意: 这个功能只在 HTML5 history 模式下可用。
scrollBehavior 方法接收 to 和 from 路由对象。第三个参数 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
const router = new VueRouter({
routes: [...],
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
}
})
返回滚动位置的对象信息
{ x: number, y: number }
{ selector: string }
如果返回一个布尔假的值,或者是一个空对象,那么不会发生滚动。
<div id="app">
<h1>滚动行为</h1>
<ul>
<li><router-link to="/">首页</router-link></li>
<li><router-link to="/foo">导航</router-link></li>
<li><router-link to="/bar">关于</router-link></li>
<li><router-link to="/bar#an1">红色页面</router-link></li>
<li><router-link to="/bar#an2">蓝色页面</router-link></li>
</ul>
<router-view></router-view>
</div>
<script>
var Home = {
template:"<div>home</div>"
}
var Foo = {
template:"<div>foo</div>"
}
var Bar = {
template:
`
<div>
bar
<div style="height:500px;background: yellow;"></div>
<p id="an1" style="height:500px;background: red;">红色页面</p>
<p id="an2" style="height:300px;background: blue;">蓝色页面</p>
</div>
`
}
var router = new VueRouter({
mode:"history",
//控制滚动位置
scrollBehavior (to, from, savedPosition) {
//判断如果滚动条的位置存在直接返回到当前位置,否者返回到起点
if (savedPosition) {
return savedPosition
} else {
if (to.hash) {
return {selector: to.hash}
}
}
},
routes:[
{
path:"/",component:Home
},
{
path:"/foo",component:Foo
},
{
path:"/bar",component:Bar
}
]
});
var vm = new Vue({
el:"#app",
router
});
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Vue
# 滚动行为
# 滚动
# Vue-Router进阶之滚动行为详解
# 详解10分钟学会vue滚动行为
# 是一个
# 让你
# 就像
# 或者是
# 布尔
# 自定义
# 只在
# 第三个
# 能做到
# 首页
# 时才
# 到新
# 大家多多
# 滚动条
# 加载
# 模式下
# const
# lt
# VueRouter
# routes
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
MySQL查询结果复制到新表的方法(更新、插入)
Python制作简易注册登录系统
如何在腾讯云免费申请建站?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
如何在 React 中条件性地遍历数组并渲染元素
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
js代码实现下拉菜单【推荐】
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Python并发异常传播_错误处理解析【教程】
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何获取上海专业网站定制建站电话?
进行网站优化必须要坚持的四大原则
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
晋江文学城电脑版官网 晋江文学城网页版直接进入
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
使用Dockerfile构建java web环境
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
详解vue.js组件化开发实践
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
香港服务器部署网站为何提示未备案?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
微信小程序 配置文件详细介绍
怎样使用JSON进行数据交换_它有什么限制
如何基于云服务器快速搭建网站及云盘系统?
iOS UIView常见属性方法小结
大连 网站制作,大连天途有线官网?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
详解jQuery中的事件
Android自定义listview布局实现上拉加载下拉刷新功能
利用 Google AI 进行 YouTube 视频 SEO 描述优化
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何获取免费开源的自助建站系统源码?
如何解决hover在ie6中的兼容性问题
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
如何在阿里云服务器自主搭建网站?
如何在万网主机上快速搭建网站?
如何在服务器上三步完成建站并提升流量?
移动端脚本框架Hammer.js
Laravel集合Collection怎么用_Laravel集合常用函数详解

