vue.js如何记录当前页面的浏览位置代码
时间: 2024-03-03 09:53:04 浏览: 120
我们可以使用vue.js的路由守卫来记录当前页面的浏览位置。
首先,在路由配置文件中,我们需要添加一个全局的路由守卫:
```
router.beforeEach((to, from, next) => {
if (from.meta.scrollToTop !== false) {
window.scrollTo(0, 0);
}
next();
});
```
然后,在每个需要记录浏览位置的页面组件中,我们可以添加一个生命周期钩子函数:
```
export default {
data() {
return {
scrollPosition: 0
}
},
beforeRouteLeave(to, from, next) {
this.scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
next();
},
beforeRouteEnter(to, from, next) {
next(vm => {
if (vm.scrollPosition) {
setTimeout(() => {
window.scrollTo(0, vm.scrollPosition);
}, 0);
}
});
}
}
```
这样,每当用户离开一个页面时,就会记录下当前页面的浏览位置;当用户再次进入该页面时,就会自动滚动到上一次浏览的位置。
阅读全文