微信小程序开发图解案例教程(附精讲视频)(第2版)
上QQ阅读APP看书,第一时间看更新

2.2 微信小程序注册程序应用

微信小程序注册程序应用

app.js文件不仅可以定义全局函数和数据,还可以注册小程序。在App()函数里可以完成小程序的注册,并指定其生命周期函数。表2.3所示为生命周期函数的定义。

表2.3 生命周期函数

续表

(1)onLaunch生命周期函数,用来监听小程序初始化,一旦初始化完成,就会触发该函数,这个生命周期函数只会触发一次。

(2)onShow生命周期函数,用来监听小程序显示,微信小程序有前后台定义,当用户单击左上角关闭、按Home键关闭或者突然来电话,微信小程序都没有销毁,而是进入后台,当再次进入微信或者小程序的时候就会触发onShow这个函数。只要程序启动或者从后台进入前台都会触发该函数。

(3)onHide生命周期函数,用来监听小程序隐藏,一旦微信小程序从前台进入后台,就会触发该函数。

(4)onError生命周期函数,用来监听小程序脚本或者API是否发生错误,发生错误时返回错误信息。

(5)onPageNotFound生命周期函数,当要打开的页面不存在时,会回调这个监听函数。

示例代码:

App({

 onLaunch:function(){

  //Do something initial when launch.

 },

 onShow:function(){

  //Do something when show.

 },

 onHide:function(){

  //Do something when hide.

 },

 onError:function(msg){

  console.log(msg)

 },

 globalData:'I am global data'

})

在页面里调用app.js全局数据:

在页面js文件里,按如下所示方法,就可以调用到全局数据globalData。

var AppInstance=getApp()

console.log(AppInstance.globalData)

不仅可以调用全局数据,还可以调用自定义的全局函数,但是不要调用生命周期函数。

注意

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

(2)不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以获取 App 实例。

(3)不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成。

(4)通过 getApp() 获取实例之后,不要私自调用生命周期函数。