微信小程序> 微信小程序同一个页面压入历史栈两次,返回第二次页面没数据

微信小程序同一个页面压入历史栈两次,返回第二次页面没数据

浏览量:3812 时间: 来源:FE-阿阳

微信小程序同一个页面压入历史栈两次,返回第二次页面没数据

问题描述

 

最近项目中遇到一个场景,页面A(A1) = B = A(A2), 然后返回时,先从页面返回时,从A2 = B = A1, A2 回退时,会触发 A2 的 onUnload(onUnload 事件中执行了一些数据重置为空的函数)事件,然后回退到 A1时,发现 A 页面的数据为空,A1 此时不会触发 onLoad(我们的页面数据赋值在 onLoad) 事件,会触发 onShow 事件。此时,会出现 A1 页面空白,数据为空。

解决方案

通过问题描述的分析,得到这种情况的原因是:
当历史栈里有两个 A(A1,A2)时,先从 A2 返回,会清空 A 页面的数据,而返回到 A1 时,没有触发 onLoad 事件重新赋值,所以造成 A1 页面数据空白。
以下是我们的解决方案:
我们的项目使用的是 mpvue,用 vuex 管理,在第一次进入 A1 时,onLoad 钩子里把值存到 vuex 中,这样即使再次进入会重新赋值,然后返回也不会影响数据为空。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎