在app.js里是一个App( )函数,定义全局函数和数据,还可用来注册一个微信小程序
在App( )函数里有一些生命周期函数

App( )里的生命周期函数

属性 类型 描述 触发时机
onLaunch Function 监听微信小程序初始化 小程序初始化完成时(全局只触发一次)
onShow Function 监听微信小程序显示 小程序启动,或者从后台进入前台显示时
onHide Function 监听小程序隐藏 小程序从前台进入后台时
onError Function 错误监听函数 小程序发生脚本错误或者API调用失败时触发,会带上错误信息
onPageNotFound Function 页面不存在监听函数 小程序要打开的页面不存在时触发,会带上页面信息回调该函数
  1. App({
  2. onLaunch(options){
  3. //当微信小程序完成初始化时执行
  4. },
  5. onShow(options){
  6. //微信小程序启动,或从后台进入前台显示时
  7. },
  8. onHide(){
  9. //微信小程序从前台进入后台时
  10. },
  11. onError(msg){
  12. //微信小程序发生脚本错误,或者API调用失败时触发
  13. console.log(msg)
  14. },
  15. userFunc(){
  16. console.log("自定义函数")
  17. },
  18. globalData:{
  19. //全局数据
  20. student_number:100
  21. }
  22. })

在页面js文件里,如果要获取全局数据,通过执行getApp()获取微信小程序App示例,然后就可以调用到globalData,代码如下

  1. var appInstance = getApp();
  2. console.log(appInstance.globalData.student_number);

Attention

(1)App()是单例的,只能注册一个,且只能在app.js中注册
(2)不要在App内的函数中调用getApp(),使用this就可以获取到App实例对象
(3)不可以在onLaunch函数中调用getCurrentPage( )函数,因为此时page还没有创建好
(4)在页面js文件中通过getApp( )获取到App实例后,不要调用App的生命周期函数,只可以调用自定义函数和全局变量,生命周期函数是程序自动调用执行的