当前位置:   article > 正文

微信小程序——生命周期_微信小程序生命周期

微信小程序生命周期

一、微信小程序应用的生命周期

        小程序的生命周期函数是在app.js里面调用的,通过App(Object)函数用来注册一个小程序,指定其小程序的生命周期回调。

onLaunch用户首次打开,当小程序初始化完成时,会触发onLaunch(全局触发一次)
onShow小程序启动或从后台进入前台时,触发onShow,监听小程序显示
onHide小程序隐藏或从前台进入后台,触发onHide
onError小程序发生脚本错误或 API 调用报错时触发

前台:前台指打开了小程序,并且在使用小程序,简单理解,就是我们可以看得到小程序。

后台: 当用户点击左上角关闭,或者直接切换到回微信或其他应用,再或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。

注意:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

二、微信小程序页面的生命周期

        页面生命周期函数就是当你每进入/切换到一个新的页面的时候,就会调用的生命周期函数,同样通过Page(Object)函数用来注册一个页面。

onLoad监听页面加载,触发onLoad,此时可以发送请求获取数据
onShow监听页面显示,触发onShow,页面显示,此时可以请求数据
onReady监听页面初次渲染完成,触发onReady,渲染⻚⾯元素和样式,此时可以获取页面元素的信息
onHide监听页面隐藏,如果小程序跳转到其它页面或进入后台运行时,触发onHide,此时可以终止任务
onUnload监听页面卸载,调用wx.redirectTo() 或wx.navigateBack(),触发onUnload,此时可以终止任务

onResize

窗口尺寸改变时触发,最低基础库:2.4.0

注意

        1. onReady一个页面只会触发一次,建议少在此阶段获取元素信息,因为此时获取的只是固定的元素信息,获取到的元素信息不准确,通过this.setData设置的元素,需要在setData回调里查。

        2. 对界面内容进行设置的 API 如wx.setNavigationBarTitle,请在onReady之后进行。

三、微信小程序自定义组件的生命周期

         组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。

        最重要的生命周期是 created 、attached、 detached ,包含一个组件实例生命流程的最主要时间点。

        组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)

created组件实例刚刚被创建时执行
attached组件实例进入页面节点树时执行
ready组件在视图层布局完成后执行
moved组件实例被移动到节点树另一个位置时执行
detached组件实例被从页面节点树移除时执行
error组件方法抛出错误时执行

注意

        1. 组件实例刚刚被创建好时, created 生命周期被触发,此时,组件数据 this.data 就是在 Component 构造器中定义的数据 data , 此时不能调用 setData。

        2. 在组件完全初始化完毕、进入页面节点树后, attached 生命周期被触发。此时, this.data 已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。

        3. 在组件离开页面节点树后, detached 生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则 detached 会被触发。

四、微信小程序自定义组件所在页面的生命周期

        还有一些特殊的生命周期,它们并非与组件有很强的关联,但有时组件需要获知,以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,在 pageLifetimes 定义段中定义。其中可用的生命周期包括:

show监听组件所在的页面被展示时执行
hide监听组件所在的页面被展示时执行
resize监听组件所在的页面尺寸变化时执行
routeDone监听组件所在页面路由动画完成时执行

注意:自定义 tabBar 的 pageLifetime 不会触发。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/88221
推荐阅读
相关标签
  

闽ICP备14008679号