文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11. 路由滚动行为
路由滚动行为
使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。vue-router 可以自定义路由切换时页面如何滚动。
当创建一个 Router 实例,你可以提供一个 scrollBehavior
方法
const router = createRouter({
history: createWebHistory(),
scrollBehavior: (to, from, savePosition) => {
/* scrollBehavior 返回滚动位置的对象信息为 { left: number, top: number } */
// 写死
//return {
// top: 500
//}
//return new Promise((r) => {
// setTimeout(() => {
// r({
// top: 10000
// })
// }, 2000);
//})
// 使用记录的值
if(savePosition) {
return savePosition
} else {
return {
top: 0
}
}
},
scrollBehavior
方法接收 to
和 from
路由对象。第三个参数 savedPosition
当且仅当 popstate
导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论