微信小程序退出重启

微信小程序启动刷新

关键词:生命周期、场景值

最近写公司的一个微信小程序遇到了一个小问题,就是由于微信小程序自己的运行机制小程序不会主动被微信注销导致的小程序不会在你退出小程序界面后自动unload,从微信小程序官方文档上可以看到:

当退出小程序之后,此时小程序并非unload状态,而是处理onhide状态,那么该如何实现每次场景值为1001时,进入小程序主界面可以刷新界面呢?

这里我是采用了在app.js文件中设置一个全局变量scene用来记录首页页面状态,初始值设为1,即用户进入首页后 scene = 1。如果用户点击跳转到其它页面,如A,则在首页的 onhide函数中将其减一 scene -= 1,此时说明首页被隐藏处于 onhide状态;当用户从A返回到首页后则将scene加一 scene += 1,此时说明首页处于 onShow状态。这样处理之后,每次小程序页面跳转都会进行一次减一加一操作,然后保证首页状态在页面跳转时始终为1。然而,当用户点击返回退出小程序首页后,scene等于0,则说明此时用户已经退出,小程序在后台运行。

然后,在首页的onShow函数中判断 scene,如果 scene值为0时,则刷新小程序,设置相关data为初始值,重新从数据库获取。

scene状态值 说明
1 首页处于onShow状态
0 首页处于onhide状态

部分代码

首页.js

  onShow: function () {
    if (app.globalData.scene == 0) {
      app.globalData.scene = 1;

      this.setData({
        Info: null,
      })
      this.onLoad();
    }
  },

  onHide: function () {
    app.globalData.scene -= 1;
  },

跳转界面.js

onLoad: function (options) {

    app.globalData.scene += 1;

  },

你可能感兴趣的:(微信小程序)