keep-alive保持页面位置
在vue单页面应用中,可以通过在router 配置中添加 keepAlive 来keepAlive页面,但是这样会导致页面在切换时,页面位置会回到顶部,这样用户体验不好,所以需要保持页面位置。
解决方案
- 在router配置中添加keepAlive
- 在需要保持页面位置的组件中添加scrollTop属性
- 在组件的activated钩子函数中获取scrollTop,并恢复滚动位置
- 在组件的beforeRouteLeave钩子函数中设置scrollTop
代码示例
1 | |
keep-alive保持页面位置
https://peterzhanghui.github.io/2025/04/02/keep-alive保持页面位置/