1、首先得获取到跳转前页面的数据(<div ref="wrap"></div>)
this.$refs.wrap
2、在data中重新定义一个数据,用来存储滚动高度
scrollHeight:0
3、在跳转前页面监听滚动事件
mounted() {
this.$nextTick(() => {
this.$refs.warp.addEventListener('scroll', this.handleScroll)
});
const scroll = localStorage.getItem('scroll')
if(scroll !== null) {
this.setScroll(scroll)
}
},
beforeDestroy() {
localStorage.setItem('scroll',this.scrollHeight)
this.$refs.warp.removeEventListener('scroll', this.handleScroll)
},
handleScroll() {
this.scrollHeight = this.$refs.warp.scrollTop;
}
setScroll(e){
if(this.$refs.warp){
this.$refs.warp.scrollTo({
top:e,
behavior: 'smooth' // 平滑滚动效果
});
}
},
我这只是个单纯的官网页面,重新定位高度是在走路由的时候,通过localStorage.removeItem('scroll')
大家有啥好办法更新滚动高度的距离,麻烦在评论区留言,让我学习一下!