+
96
-

回答

每当小程序可能被销毁之前,页面回调函数 onSaveExitState 会被调用。如果想保留页面中的状态,可以在这个回调函数中“保存”一些数据,下次启动时可以通过 exitState 获得这些已保存数据。

首先将json中的重启策略改为homePageAndLatestPage,默认是homePage

{
  "restartStrategy": "homePageAndLatestPage"
}

第二步在销毁的页面中增加一下代码:

Page({
  onLoad: function() {
    var prevExitState = this.exitState // 尝试获得上一次退出前 onSaveExitState 保存的数据
    if (prevExitState !== undefined) { // 如果是根据 restartStrategy 配置进行的冷启动,就可以获取到
      prevExitState.myDataField === 'myData' 
    }
  },
  onSaveExitState: function() {
    var exitState = { myDataField: 'myData' } // 需要保存的数据
    return {
      data: exitState,
      expireTimeStamp: Date.now() + 24 * 60 * 60 * 1000 // 超时时刻
    }
  }
})

参考https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html

网友回复

我知道答案,我要回答