让 Home 页面离开的时候保持原来的状态

思路

1. 用 keep-alive 让页面不要销毁

<keep-alive include="HomePage">
		<router-view />
</keep-alive>

Tips:

include 不设置的话,所有页面都不销毁,设置 include 是组件 name 为 “HomePage”的不销毁

对应的是 exclude, 写在 exclude 中的会销毁,其他的都不销毁

2.离开的时候保留一个位置信息

   saveScrollY: 0, //记录离开Home 时的状态和位置

  deactivated() { //离开页面的时候调用
    // 页面失活时获取页面Y轴滚动的位置
    this.saveScrollY = this.$refs.scroll.getScrollY();
   
  },

3.进来时,将位置设置为原来保存的位置信息即可
    注意,最好回来时betterscroll 设置下 refresh()

activated() { //页面被激活的时候
    
    if (this.$refs.scroll) {
      // 回到页面瞬间跳转会到离开时候滚动的位置
      this.$refs.scroll.scrollTo(0, this.saveScrollY,0);
      //刷新  scroll 否则有的时候会出现滚动不了的 bug
      this.$refs.scroll.refresh();
    }
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值