《七》微信小程序中的 App

App():

用来创建一个小程序。接受一个 Object 参数,其中指定小程序级别的生命周期函数和通用的方法、数据等。

App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。 生命周期函数指的是在某一时刻会自动执行的函数。

Object 参数:

  1. onLaunch(options):生命周期函数,小程序初始化完成时触发,全局只触发一次。 options 中包含小程序当前所在页面的路径、进入小程序携带的参数、进入小程序的场景值等。
  2. onShow(options):生命周期函数,小程序启动或从后台进入前台展示时触发。 onShow() 获取到的参数与 onLaunch() 获取到的参数一样。
  3. onHide():生命周期函数,小程序从前台进入后台取消展示时触发。
  4. onError(msg):小程序发生脚本错误或 API 调用报错时触发。
  5. onPageNotFound():小程序要打开的页面不存在时触发。
  6. onUnhandledRejection():小程序有未处理的 Promise 拒绝时触发。
  7. onThemeChange():系统切换主题时触发。
  8. 其他:开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 就可以在 app.js 中访问。
// app.js
App({
    // 小程序级别的生命周期函数
    onLaunch(options) {
    	console.log(options)
    },
    // 全局通用的方法
    getUserName() {
    },
    // 全局通用的数据
	globalData: {
		name: Lee,
	}
})

getApp():

用来获取小程序全局唯一的 App 实例。

不要在定义于 App() 内的函数中,或调用 App 前调用 getApp() ,使用 this 就可以拿到 app 实例。 通过 getApp() 获取实例之后,不要私自调用生命周期函数。
// index.js
// 在 index.js 页面通过 getApp() 获取到 app 实例,就可以使用 app.js 中定义的方法和数据了。
var appInstance = getApp()
console.log(appInstance.globalData.name)
经验分享 程序员 微信小程序 职场和发展