企业网站建设与优化,科技网站小编,wordpress域名变回80,网站首次备案 多久小程序中#xff0c;生命周期主要分成了三部分
应用的生命周期页面的生命周期组件的生命周期
应用的生命周期
小程序的生命周期函数是在app.js里面调用的#xff0c;通过App(Object)函数用来注册一个小程序#xff0c;指定其小程序的生命周期回调
页面的生命周期
页面生…小程序中生命周期主要分成了三部分
应用的生命周期页面的生命周期组件的生命周期
应用的生命周期
小程序的生命周期函数是在app.js里面调用的通过App(Object)函数用来注册一个小程序指定其小程序的生命周期回调
页面的生命周期
页面生命周期函数就是当你每进入/切换到一个新的页面的时候就会调用的生命周期函数同样通过App(Object)函数用来注册一个页面
组件的生命周期
组件的生命周期指的是组件自身的一些函数这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发通过Component(Object)进行注册组件
二、有哪些
应用的生命周期
生命周期说明onLaunch小程序初始化完成时触发全局只触发一次onShow小程序启动或从后台进入前台显示时触发onHide小程序从前台进入后台时触发onError小程序发生脚本错误或 API 调用报错时触发onPageNotFound小程序要打开的页面不存在时触发onUnhandledRejection()小程序有未处理的 Promise 拒绝时触发onThemeChange系统切换主题时触发
页面的生命周期
生命周期说明作用onLoad生命周期回调—监听页面加载发送请求获取数据onShow生命周期回调—监听页面显示请求数据onReady生命周期回调—监听页面初次渲染完成获取页面元素少用onHide生命周期回调—监听页面隐藏终止任务如定时器或者播放音乐onUnload生命周期回调—监听页面卸载终止任务
组件的生命周期
生命周期说明created生命周期回调—监听页面加载attached生命周期回调—监听页面显示ready生命周期回调—监听页面初次渲染完成moved生命周期回调—监听页面隐藏detached生命周期回调—监听页面卸载error每当组件方法抛出错误时执行
注意的是
组件实例刚刚被创建好时 created 生命周期被触发此时组件数据 this.data 就是在 Component 构造器中定义的数据 data 此时不能调用 setData在组件完全初始化完毕、进入页面节点树后 attached 生命周期被触发。此时 this.data 已被初始化为组件的当前值。这个生命周期很有用绝大多数初始化工作可以在这个时机进行在组件离开页面节点树后 detached 生命周期被触发。退出一个页面时如果组件还在页面节点树中则 detached 会被触发
还有一些特殊的生命周期它们并非与组件有很强的关联但有时组件需要获知以便组件内部处理这样的生命周期称为“组件所在页面的生命周期”在 pageLifetimes 定义段中定义如下 生命周期说明show组件所在的页面被展示时执行hide组件所在的页面被隐藏时执行
代码如下
Component({pageLifetimes: {show: function() {// 页面被展示},hide: function() {// 页面被隐藏},}
})
三、执行过程
应⽤的⽣命周期执行过程
⽤户⾸次打开⼩程序触发 onLaunch全局只触发⼀次⼩程序初始化完成后触发onShow⽅法监听⼩程序显示⼩程序从前台进⼊后台触发 onHide⽅法⼩程序从后台进⼊前台显示触发 onShow⽅法⼩程序后台运⾏⼀定时间或系统资源占⽤过⾼会被销毁
⻚⾯⽣命周期的执行过程
⼩程序注册完成后加载⻚⾯触发onLoad⽅法⻚⾯载⼊后触发onShow⽅法显示⻚⾯⾸次显示⻚⾯会触发onReady⽅法渲染⻚⾯元素和样式⼀个⻚⾯只会调⽤⼀次当⼩程序后台运⾏或跳转到其他⻚⾯时触发onHide⽅法当⼩程序有后台进⼊到前台运⾏或重新进⼊⻚⾯时触发onShow⽅法当使⽤重定向⽅法 wx.redirectTo() 或关闭当前⻚返回上⼀⻚wx.navigateBack()触发onUnload
当存在也应用生命周期和页面周期的时候相关的执行顺序如下
打开小程序(App)onLaunch -- (App)onShow -- (Pages)onLoad -- (Pages)onShow -- (pages)onRead进入下一个页面(Pages)onHide -- (Next)onLoad -- (Next)onShow -- (Next)onReady返回上一个页面(curr)onUnload -- (pre)onShow离开小程序(App)onHide再次进入小程序未销毁 -- (App)onShow(执行上面的顺序小程序被销毁App)onLaunch重新开始执行.