微信小程序退出重启

本文探讨了微信小程序在退出后不会自动卸载的问题,以及如何在场景值为1001时,确保重新进入主界面能刷新界面。通过在app.js中设置全局变量scene来跟踪首页状态,利用onhide和onShow函数调整scene值,从而在用户退出并重新进入小程序时,通过判断scene值为0来触发刷新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序启动刷新

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

最近写公司的一个微信小程序遇到了一个小问题,就是由于微信小程序自己的运行机制小程序不会主动被微信注销导致的小程序不会在你退出小程序界面后自动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;

  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值