APP
APP()
APP()接受一个object作为参数,用来配置小程序的生命周期
参数说明
onLaunch() 监听小程序的初始化,只在小程序初始化完成时触发,全局只触发一次
onShow() 监听小程序的显示,当小程序启动或从后台进入前台时触发
onHide() 监听小程序隐藏,当小程序从前台进入后台时触发
onError() 监听小程序错误,当小程序发生js错误时触发
app.js
APP({
onLaunch: function() {
// Do something initial when launch.
},
onShow: function() {
// Do something when show.
},
onHide: function() {
// Do something when hide.
},
globalData: 'I am global data'
})
前台,后台的定义
当用户点击左上角关闭,或者按了设备Home键离开钉钉时,小程序并不会直接销毁,而是进入了后台,当再次进入钉钉或再次打开小程序时,又会从后台进入前台。而且只有当小程序进入后台一定时间,或占用系统资源过高时,才会被真正的摧毁。
getApp()
钉钉小程序提供了全局的getApp()函数,可以获取到小程序实例,一般用在各个子页面之中获取顶层应用
other.js
var appInstance=getApp()
console.log(appInstance.globalData)//I am global data
注意:
1.App()必须在app.js里调用,且不能调用多次
2.不要在 App() 内定义的函数中调用 getApp(),使用 this 就可以拿到 app 实例。
3.不要在 onLaunch 里调用getCurrentPages(),这个时候 page 还没有生成。
4.通过 getApp() 获取实例之后,不要私自调用生命周期函数。
Page
生命周期函数
onLoad: 监听页面加载,一个页面只会调用一次,在这个过程中可以接收传递的参数
onReady: 监听页面初次渲染完成,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
onShow: 监听页面显示,每次打开页面都会调用,可以进行数据的更新
onHide: 监听页面隐藏,当navigateTo或底部tab切换时调用
onUnload: 监听页面的装卸,当redirect或navigateBack的时候调用
onPullDownRrefresh:监听用户下拉刷新事件,需要在config的window选项中开启enablePullDownRefres,当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新
//index.js
Page({
data: {
text: "This is page data."
},
onLoad: function(options) {
// Do some initialize when page load.
},
onReady: function() {
// Do something when page ready.
},
onShow: function() {
// Do something when page show.
},
onHide: function() {
// Do something when page hide.
},
onUnload: function() {
// Do something when page close.
},
onPullDownRefresh: function() {
// Do something when pull down
},
// Event handler.
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
})
}
})
下图为整个页面生命周期的过程