小程序生命周期

202 阅读2分钟

小程序的生命周期分为三类:

应用生命周期,页面生命周期和组件生命周期

一、应用生命周期

onLaunch:当整个项目启动,渲染完成时触发(全局只触发一次)

onShow:小程序显示出来(从后台进入前台显示,可以触发多次)

onHide:小程序隐藏起来时触发(从前台进入后台,可以触发多次)

onError: 出现异常时触发

二、页面生命周期

onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参)

onShow 监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面

onReady 监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发

onHide 监听页面隐藏,通过tabbar切换页面,也是隐藏而不是卸载

onUnload 监听页面卸载

onPullDownRefresh 监听用户下拉动作,一般用于下拉刷新。前提开启下拉刷新。

下拉刷新开启:pages.json中全局配置,或者页面的style中配置或通过 uni.startPullDownRefresh()方法

下拉刷新关闭:uni.stopPullDownRefresh()

onReachBottom:上拉加载,页面滚动到底部的事件,在事件中可以加载下一页数据

在pages.json中的页面style中,通过onReachBottomDistance可以

配置页面上拉触底事件触发距页面底部的距离,默认50px

三、组件生命周期

beforeCreate(): 在实例初始化之后被调用,此时data中的数据还是undefined

created(): 在实例创建完成后被立即调用。此时data中的数据和基本方法都可以访问了

beforeMount(): 在挂载开始之前被调用.

mounted(): 挂载到实例上去之后调用,注意:此处并不能确定子组件被全部挂载,如果需要子组件

完全挂载之后在执行操作可以使用$nextTick

beforeUpdate(): 数据更新时调用,发生在虚拟 DOM 打补丁之前

updated(): 由于数据更改导致的虚拟 DOM 重新渲染和打补丁

beforeDestroy: 实例销毁之前调用

destroyed(): Vue 实例销毁后调用。