记录滚动条的位置
这样一个需求,做的管理平台有很多图片,往下面滑动的时候点击某一张图片会进入图片详情页面,返回的时候又回到了最上面,所以这样很麻烦,要做一个返回时还在刚才点击时候的位置。
一、第一种方法
beforeRouteLeave(to, from, next) {
//scroll要先在data里面赋值一个0 scroll:0
//el-main是你这个页面的主体class名称,写你自己的名称。
this.scroll = document.getElementsByClassName("el-main")[0].scrollTop;
next();
},
activated() {
// this.getGroupImgList();
this.$nextTick(() => {
setTimeout(() => {
document.getElementsByClassName("el-main")[0].scrollTop = this.scroll;
}, 0);
});
},
二、第二种方法(这种方法有的地方不实用,根据自己的意愿来决定,可以试一下)
1、首先在你最外面的那个div上面用ref
<div
class="labelListMain-main"
style="margin-top: 0px"
ref="wrapper" //定义一个ref
>
......//这就是你里面的内容
</div>
2、方法里面的逻辑
beforeRouteLeave(to, from, next) {
this.$nextTick(() => {
this.scroll = this.$refs.wrapper.scrollTop;
});
next();
},
activated() {
this.$nextTick(() => {
this.$refs.wrapper.scrollTop = this.scroll;
});
}