生命周期执行顺序
app生命周期
冷启动:用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。
热启动: 用户已经打开过小程序,在一定时间内再次打开该小程序,此时无需重新启动。只需将后台态的小程序切换到前台,这个过程就是热启动
onLaunch
: 小程序初始化完成(冷启动)时触发onShow
:小程序热启动时触发onHide
:小程序从前台进入后台触发onError
:小程序发生脚本错误时触发onPageNotFound
:要打开的页面不存在时触发
page页面生命周期
onLoad
:页面加载时触发,只会首次渲染的时候执行一次onReady
:页面初次渲染完成时触发,只会首次渲染的时候执行一次。该生命周期表示此时页面已经可以和视图层发生交互onShow
:每次打开页面时都触发,当navigateTo或底部tab切换时调用onHide
:当页面隐藏时触发,当redirectTo或navigateBack的时候调用onUnload
:当页面卸载时触发,当redirectTo或navigateBack的时候调用onPullDownRefresh
:当用户下拉刷新事件时触发onReachBottom
:当用户上拉触底事件时触发onShareAppMessage
:当用户转发页面时触发onPageScroll
:当用户滑动页面时触发onResize
:当屏幕
component组件生命周期
lifetimes中的生命周期:
created
:组件实例化时触发,此时还不可以与操作节点与更改数据attached
:组件实例进入页面节点树时触发,此可以更改数据,但还不可以操作视图层结构ready
:组件在页面视图层完成布局后触发,此时可以操作视图层结构moved
:当组件实例被移到页面节点树其他位置时触发detached
:当组件实例被页面节点树中移除时触发error
:当组件出错时触发
pageLifetimes中的生命周期:
show
:组件所在页面被展示时触发hide
:组件所在的页面被隐藏时触发resize
:组件所在的页面尺寸变化时触发
三者之间的生命周期顺序
app与page
##程序初始化
App onLaunch
App onShow
Page onLoad
Page onShow
Page onReady
##程序进入后台
Page onHide
App onHide
page与component
##页面显示
Component created
Component attached
Page onLoad
Page onShow
Component ready
Page onReady
##页面销毁
Page onUnload
Component detached
上拉刷新、下拉加载的实现
主要利用page的onPullDownRefresh
和onReachBottom
生命周期来实现。
- 在
onPullDownRefresh
中刷新数据 - 在
onReachBottom
中获取下一分页的数据
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。