VUE页面后退无刷新

离开当前页面时记录当前位置,使用sessionStorage存储数据(其中 wrapbox 当前滚动页面最外层的div ,ref=wrapbox)

1
2
3
4
5
6
7
8
9
10
11
beforeRouteLeave(to, from, next) {
//记录离开时的位置__")
sessionStorage.askPositon =
this.$refs.wrapbox && this.$refs.wrapbox.scrollTop;
if(to.name=='smission' ||to.name=='buyer'){
sessionStorage.askPositon =''
}//前进时无需记录位置,可以将数据置为空
console.log("出去的位置")
console.log(sessionStorage.askPositon)
next();
},

进入页面后采用离开时的位置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
beforeRouteEnter(to, from, next) {
console.log(sessionStorage.askPositon)
if (!sessionStorage.askPositon) {
//当前页面刷新不需要切换位置
sessionStorage.askPositon = "";
next();
} else {
next(vm => {
if (vm && vm.$refs.wrapbox) {
console.log("进来的位置")
console.log(sessionStorage.askPositon);
setTimeout(function() {
vm.$nextTick(() => {
vm.$refs.wrapbox.scrollTop=sessionStorage.askPositon
});
},80); //同步转异步操作
}
});
}
},

Posted on

2019-05-31

Updated on

2020-04-13

Licensed under

Kommentare

:D 一言句子获取中...

Loading...Wait a Minute!