赞
踩
小程序从启动到最终被销毁,会经历很多不同的状态,小程序在不同状态下会有不同的表现。
从用户认知的角度看,广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动。
从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。
小程序启动后,界面被展示给用户,此时小程序处于「前台」状态。
当用户「关闭」小程序时,小程序并没有真正被关闭,而是进入了「后台」状态,此时小程序还可以短暂运行一小段时间,但部分 API 的使用会受到限制。切后台的方式包括但不限于以下几种:
当用户再次进入微信并打开小程序,小程序又会重新进入「前台」状态。
小程序冷启动时,打开的页面有以下情况:
小程序热启动时,打开的页面有以下情况:
有时候小程序开发免不了有功能是扫描二维码,二维码带参数进入小程序的指定页面的需求。而多次扫描二维码进入的时候,有时候会出现携带参数出现问题的情况。
冷启动的时候机会触发我们的onlauch,热启动触发的是onshow
获取小程序启动参数有两个方法:
1. wx.getLaunchOptionsSync()
获取小程序启动时的参数。与 App.onLaunch 的回调参数一致。
只能获取冷启动参数,不能获取热启动页面参数。
2. wx.getEnterOptionsSync()
获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 App.onLaunch 的回调参数一致;如果当前是热启动,则返回值与 App.onShow 一致。
在onLoad和onShow里都获取参数。
- onLoad: function (options) {
- this.setData({options:options})
- console.log('onLoad',this.data.options)
- }
- onShow() {
- const launchOptions = wx.getLaunchOptionsSync();
- if(Object.keys(launchOptions.query).length !== 0){
- this.setData({options:launchOptions.query})
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。