一、应用钩子函数
在app.js中App方法中编写
onLaunch在页面第一次启动时触发,只会触发一次,可用来获取用户信息等数据。onShow在页面切换到前台时触发,一定会在onLaunch后触发。可以重置数据或页面效果。onHide在页面隐藏到后台时触发。可以取消设置的定时器等。onError当应用报错时触发。可以从方法中获取错误参数。onPageNotFound当应用第一次启动,找不到入口页面时触发。可以在发生事件时跳转到其他页面(比如404)。
二、页面钩子函数
生命周期钩子函数
onLoad页面刚刚加载完成时触发。第一个触发。可以在函数中获得options参数,代表路由的参数。onShow页面切换到前台时触发。第二个触发。无法通过options获取路由参数,需要通过页面栈(长度<=10)获取:1
2const pages = getCurrentPages() // pages就是页面栈了,可以从最后一个对象中获取当前页面的options。
console.log(pages)onReady页面刚刚渲染完毕时触发。第三个触发。onHide页面隐藏到后台时触发。onUnload页面卸载时(关闭当前页面)触发。
常用功能性钩子函数
onPullDownRefresh下拉刷新时触发。onReachBottom滚动触底时触发。onShareAppMessage用户转发小程序后触发。onPageScroll页面发生滚动时触发。onResize页面大小发生改变时触发(从竖屏到横屏也会触发,App.json或页面.json需要启动横竖屏切换功能:微信小程序开发文档:在手机上启用屏幕旋转功能)。onTabItemTap当前是Tab页面,再点击同一个Tab时触发(可以用来刷新页面数据等)。
