微信小程序学习第一天——js注册程序(逻辑层)

来源:互联网 发布:阿里云cdn加速oss 编辑:程序博客网 时间:2024/05/17 01:54

由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等,所以以前写js的一些思路可能要改变

一、APP()

小程序销毁的两种情况:

1.小程序在进入后台一段时间后或者占用资源过多时,会从后台状态转为销毁

2.关闭小程序的功能在公共库版本1.1.0开始支持, 当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。


除了onLaunch()、onShow()、onHide()、onError()之外开发者可以添加任意的函数或数据到Object参数中,用this可以访问

App()必须在app.js选中注册,且不能注册多个。

onlaunch时不能调用getCurrentPages(),此时page还没有生成

onLaunch()、onShow()中可以获取场景值,但是Android系统按home键退出到桌面然后从桌面再次进入小程序的场景值无法获得,此时,会保留上一次的场景值。


示例:

App({
  onLaunch: function () {        //监听小程序初始化,初始化完成时,会触发onlaunch,全局只触发一次
    console.log('App Launch')
  },
  onShow: function () {           //监听小程序显示,当小程序启动或从后台进入前台显示,会触发onshow
    console.log('App Show')
  },
  onHide: function () {          //监听小程序隐藏,当小程序从前台进入后台,会触发onHide
    console.log('App Hide')
  }, 

onError: function () {          //错误监听函数,当小程序发生脚本错误,或者api调用失败时,会触发onError并带上错误信息
    console.log('App Error')
  },

 globalData:{                      //用户自己定义的函数
    userInfo:null
  }

})




二、 getApp()

getApp()可以获取小程序示例,但是在定义于App()内的函数中不能调用getApp(),使用this可以获取app实例

使用getApp()获取实例后,不要私自调用生命周期函数


var appInstance = getApp()                   //获取app实例

console.log(appInstance.globalData)       //打印实例中的globalData

原创粉丝点击