微信小程序开发详解——生命周期
小程序开发
浏览:780 次

生命周期是指小程序从创建到销毁的一系列过程
在小程序中,通过App()注册小程序,通过page()注册页面
让我们看看小程序项目结构
形象
如上图所示,根目录包含三个文件:app。js``,app。wxss和app。json公司
这是小程序的全局文件,app Js是小程序逻辑,app。json是applet公共设置和app。wxss是小程序公共样式表
应用内的。js文件定义了一些生命周期方法,如onLaunch、onShow、onHide、onError,以及任何开发人员添加的函数或数据(可通过此文件访问)
以下是每个生命周期方法的角色和描述
OnLaunch生命周期函数——监听小程序初始化。小程序初始化完成后,将触发onLaunch(仅全局一次)
OnShow生命周期功能——监控小程序显示当小程序从后台启动或进入前台显示时,将触发OnShow
OnHide生命周期函数--监视隐藏的小程序当小程序从前台进入后台时,将触发OnHide
OnError错误监控功能当小程序发生脚本错误或api调用失败时,将触发OnError并显示错误消息
其他任何开发人员都可以将任何函数或数据添加到Object参数中,可以使用
我们在app中。以下方法在js文件中定义并打印出来
app({
onLaunch:函数(选项){
console.log(“app.js---onLaunch---”+JSON.stringify(选项));
},
onShow:函数(){
console.log(“app.js---onShow---”);
},
onHide:函数(){
console.log(“app.js---onHide---”);
},
onError:函数(消息){
console.log(“app.js---onError---”+msg);
},
全局数据:{
用户信息:空

}
})
形象
下面是一些打开小程序并打印它的方法
可以看到,打开的程序在app下执行onLaunch和onShow方法。js,以及页面中的onLoad、onShow和onReady方法
onLaunch和onShow方法将返回一个参数对象,其中包含三个参数:路径、查询和场景。Path是打开小程序的路径
可以查看更多场景值
当小程序切换到后台时,它将执行以下两种方法
形象
返回小程序前台
形象
页面中定义的生命周期方法
OnLoad生命周期函数——监听页面加载
OnReady生命周期函数——聆听页面第一次呈现的完成情况
onShow生命周期功能--收听页面显示
onHide生命周期函数--侦听器页面隐藏
OnUnload生命周期函数——监听页面卸载
第页({
onLoad:函数(选项){
安慰日志(“页面---加载---”);
},
onReady:函数(){
安慰日志(“page--onReady----”);
},
onShow:函数(){
安慰日志(“页面---显示---”);
},
onHide:函数(){
安慰日志(“page---onHide---”);

},
onUnload:函数(){
安慰日志(“页面---卸载---”);
}
})
其中,打开小程序后,将依次执行onLoad、onReady和onShow方法
在前后控制台之间切换时,将分别执行onHide和onShow方法,
销毁小程序页面时执行onUnload方法
例如,我们详细定义了onUnload方法。js语言
onUnload:函数(){
console.log(“details.js--onUnload”)
},
当我们打开一个新页面的详细信息。wxml,然后关闭页面
形象
从上图中,我们可以看到onUnload方法在页面上执行
此外,小程序为我们提供了全局数据管理,并获得了app。js实例通过页面上的getApp()方法
例如:
我们在app.js中定义了一个globalData数据对象
app({
全局数据:{
用户信息:空
}
})
//其他.js
var appInstance=获取app()
console.log(appInstance.globalData)
小心:
应用()必须在应用中注册。js,并且不能有多个。
不要在App()中定义的函数中调用getApp()。使用此项获取app实例。

当onLaunch正在进行时,不要调用getCurrentPages()。此时,页面尚未生成。
通过getApp()获取实例后,不要私自调用生命周期函数。