参考链接:https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html
小程序App()方法和getApp()方法的使用
为了方便学习,记录一下关于App()方法和getApp()方法是如何使用的。
App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。
示例:
App({
onLaunch (options) {
// Do something initial when launch.
},
onShow (options) {
// Do something when show.
},
onHide () {
// Do something when hide.
},
onError (msg) {
console.log(msg)
},
globalData: 'I am global data'
})
onLaunch():小程序初始化完成时触发,全局只触发一次。
onShow():小程序启动,或从后台进入前台显示时触发。
onHide():小程序从前台进入后台时触发。
onError():小程序发生脚本错误或 API 调用报错时触发。
这是App(Object object)的四个基本属性,还有一个属性是onPageNotFound
onPageNotFound():小程序要打开的页面不存在时触发。
在官方给出的文档中,还说明了开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 可以访问。
说完了App(),再来看看getApp()
getApp():获取到小程序全局唯一的 App 实例。
示例:
var app = getApp()
console.log(app.globalData) // 调用全局变量
在这里有两个点需要注意:
1.不要在定义于 App() 内的函数中,或调用 App 前调用 getApp() ,使用 this 就可以拿到 app 实例。
2.通过 getApp() 获取实例之后,不要私自调用生命周期函数。
至于生命周期函数,后面的学习中会写到。