解决思路
(1)使用当有keep-alive的两个生命周期函数,activated和deactivated
(2)当离开页面时,记录最后的滑动位置
(3)当进入页面时,滑动到记录的滑动位置并刷新scroll来重新计算一下滑动位置
代码示例:
activated()
{
// activated时,dom还未加载完成
if(this.$refs.scrolls.scroll!=null)
{
//通过ref获取到滑动组件内部的属性和方法
this.$refs.scrolls.scrollTo(0,this.saveY);
this.$refs.scrolls.scroll.refresh();
}
},
deactivated()
{
if(this.$refs.scrolls.scroll!=null)
{
this.saveY=this.$refs.scrolls.scroll.y;
console.log(this.saveY);
}
},