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() 获取实例之后,不要私自调用生命周期函数。