App()用来注册小程序,接受一个 Object 参数,其指定小程序的生命周期回调等。小程序只有1个App实例并由全部页面共享,在页面中可通过getApp方法获取到全局唯一的App实例(const appInstance=getApp()),进而获取App上的数据或调用注册在App上的函数。App()必须在app.js中调用,必须调用且只能调用一次,不然会出现无法预期的后果。App方法的object参数主要构成如下:
属性 | 说明 |
onLaunch(Object) | 小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。 |
onShow(Object) | 小程序启动,或从后台进入前台显示时触发。也可以使用 wx.onAppShow 绑定监听。 |
onHide | 小程序从前台进入后台时触发。也可以使用 wx.onAppHide 绑定监听。 |
onError(String) | 小程序发生脚本错误或API 调用报错时触发。也可以使用 wx.onError 绑定监听。 |
onPageNotFound(Object) | 小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。 |
onUnhandledRejection(Object) | 小程序有未处理的 Promise 拒绝时触发。也可以使用 wx.onUnhandledRejection 绑定监听。 |
onThemeChange(Object) | 系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。 |
globalData | 在app.js中读取globalData使用this,修改globalData只需给对应的变量赋值,在其他页面读取以及修改globalData需在应用的页面js文件中引用app()实例(在js文件中第一句要写上这句var app = getApp();)。 |
其他 | 可以添加任意的函数或数据变量到Object参数中,用this可以访问。 |