vue中记录滚动条位置的两种方法
作者:爱敲码的老余 时间:2024-04-27 15:59:33
1、方法一
在点击的时候记录滚动条位置,存入本地
再次进入该路由读取滚动跳位置
1、1 跳转时路由存入scroll 如果要有多个页面,可以把名称也存进去,这里默认一个页面
methods: {
go() {
console.log(document.documentElement.scrollTop)
localStorage.setItem("scroll", document.documentElement.scrollTop)
this.$router.push({path: '/'})
}
}
1、2 读取scroll位置 再次进入该路由时从本地录取scroll位置
利用scrollBehavior ,在
router/index.js
中,配置路由中的scrollBehaviors
事件
const router = new VueRouter({
mode: 'hash',
routes,
scrollBehavior(to, from){
if(to.name==='fatherSlot'){ //name为路由名字
return {x:0, y: parseInt(localStorage.getItem('scroll'))}//读取本地的scroll
}
console.log("to",to,"from",from)
}
})
2、方法二
利用
vue
的keep-alive
, 使用缓存机制来记录滚动条位置
但是有个缺点,页面刷新后就不记录了,但是简单高效
2、1 配置需要缓存的路由 缓存pageA
,pageB
,里面代码都一样,如演示图一样。pageA
,pageC
为组件的名字.
html
<keep-alive :include="['pageA','pageC']">
<router-view/>
</keep-alive>
2、2 在路由内记录滚动位置
javascript
data() {
return {
curScrollTop: 0 //记录滚动条位置对象
}
},
//此钩子函数会反复触发,是keep-alive特有的钩子函数,取
activated() {
document.documentElement.scrollTop = this.curScrollTop || 0
},
//路由离开时的钩子函数,存
beforeRouteLeave (to, from, next) {
this.curScrollTop = document.documentElement.scrollTop || 0
next()
},
来源:https://blog.csdn.net/www61621/article/details/127648707
标签:vue,滚动条,位置
0
投稿
猜你喜欢
从go语言中找&和*区别详解
2024-04-30 10:04:50
Oracle逗号分隔列转行实现方法
2024-01-14 20:04:37
Linux下安装mysql的教程详解
2024-01-20 03:24:37
MySQL Community Server 8.0.11安装配置方法图文教程
2024-01-26 06:02:45
python判断字符串是否是json格式方法分享
2023-01-02 20:50:37
Python如何爬取b站热门视频并导入Excel
2023-06-20 23:27:44
js注入 黑客之路必备!
2024-04-17 10:23:44
IE对CSS样式表的限制和解决方案
2008-04-28 12:27:00
javascript 缓冲效果实现代码 推荐
2024-04-29 13:36:08
pygame实现俄罗斯方块游戏(基础篇3)
2022-10-10 10:45:54
python实现发送邮件及附件功能
2023-12-30 23:27:04
mysql从执行.sql文件时处理换行的问题
2009-09-06 11:46:00
mysql中group by与having合用注意事项分享
2024-01-15 02:24:55
Vue组件通信方法案例总结
2023-07-02 16:51:58
网站中美好的细节
2011-07-13 18:43:07
[新手必看]15个asp编程常见问题解答
2007-08-22 13:07:00
对python读取CT医学图像的实例详解
2023-12-29 12:36:37
浅谈pytorch中stack和cat的及to_tensor的坑
2022-12-14 11:53:23
使用Dreamweaver MX表格排序功能
2010-07-13 12:08:00
mysql中全连接full join...on...的用法说明
2024-01-13 19:44:22