uni-app生命周期
uni-app的生命周期是以小程序生命周期为基础实现的,可分为
- 应用生命周期
- 页面生命周期
- 组件生命周期(Vue生命周期)
应用生命周期
应用生命周期是指uniapp应用程序从启动到关闭的整个过程,包括应用程序的启动、前后台切换、退出等
uni-app应用程序中App.vue是uniapp的主组件,所有页面都是在App.vue下进行切换的
应用生命周期
- onLaunch:当uni-app 初始化完成时触发(全局只触发一次),参数为应用启动参数
- onShow:当 uni-app 启动,或从后台进入前台显示,参数为应用启动参数
- onHide:当 uni-app 从前台进入后台
- onError:当 uni-app 报错时触发
- onPageNotFound:页面不存在监听函数
- onThemeChange:监听系统主题变化
- onLastPageBackPress:最后一个页面按下Android back键时触发,常用于自定义退出
- onExit:监听应用退出
注:应用生命周期仅可在App.vue中监听,在页面监听无效
globalData
小程序有
小程序有globalData,这是一种简单的全局变量机制。这套机制在uni-app里也可以使用,并且全端通用
当然vue框架的全局变量,另有其他方式定义
以下是 App.vue 中定义globalData的相关配置
<script>
export default {
globalData: {
text: 'text'
}
}
</script>
js中操作globalData的方式如下
getApp().globalData.text = 'test'
在应用onLaunch时,getApp对象还未获取,暂时可以使用this.globalData获取globalData
如果需要把globalData的数据绑定到页面上,可在页面的onShow页面生命周期里进行变量重赋值
页面生命周期
uni-app页面除了支持Vue组件生命周期外,还支持页面生命周期
- onInit:监听页面初始化,参数同onLoad参数
- onLoad:监听页面加载
- onShow:监听页面显示
- onReady:监听页面初次渲染
- onHide:监听页面隐藏
- onUnload:监听页面卸载
- onResize:监听窗口变化
- onPullDownRefresh:监听用户下拉动作
- onReachBottom:页面滚动到底部的事件