离开当前页面时记录当前位置,使用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); } }); } },
|