Vue.nextTick()实现对历史滚动条位置功能
methods 中
getTestPaper(){
this.$http.post(
this.$urls.get, {
schid: localStorage.getItem("schid"),
id: this.paper_id,
},
(result) => {
this.setScorll(); //在第一次请求页面数据完成调用setScorll
}
);
}
setScorll() {
this.$nextTick(() => {
if(sessionStorage.getItem('scrollTop')) {
let content=$('.testpaperconle'); //testpaperconle 获取要记录高度的对象
content[0].scrollTop=parseInt(sessionStorage.getItem('scrollTop'));
}
})
},
//去往详情页,保存位置
deleteli(){
let content=$('.testpaperconle'); //testpaperconle 获取要记录高度的对象
sessionStorage.setItem('scrollTop',content[0].scrollTop);
this.$router.push('/homepage/CreateQuestion');
}
参考链接
vue.nextTick()方法
定义:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
所以就衍生出了这个获取更新后的DOM的Vue方法。所以放在Vue.nextTick()回调函数中的执行的应该是会对DOM进行操作的 js代码;
理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数,
vue.nextTick()方法的使用详解(简单明了)