uni-app 生命周期
应用生命周期
- 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 实例销毁后调用。