一 应用生命周期
函数名 | 说明 | 应用场景 |
---|---|---|
onLaunch | 当 uni-app 应用初始化完成时触发,全局只触发一次 | 一般用于查看用户是否授权、获取用户的设备信息等 |
onShow | 当应用启动,或从后台进入前台显示时触发,可以触发多次 | 一般用于重新进入应用的消息提示或者数据刷新 |
onHide | 监听应用从前台进入后台 | 一般用于退出应用时的消息提示 |
onError | 应用报错时被触发 | 用于监测并处理错误 |
前台、后台定义:
二 页面生命周期
函数名 | 说明 | 支持平台 |
---|---|---|
onLoad | 页面加载时触发,一个页面只会调用一次。可以传递参数 | 所有 |
onShow | 页面显示时触发,每次打开页面都会调用一次 | 所有 |
onReady | 页面初次渲染完成后触发,一个页面只会调用一次 | 所有 |
onHide | 页面隐藏时触发,每次隐藏页面都会被触发 | 所有 |
onUnload | 页面卸载时触发 | 所有 |
onResize | 页面每次窗口尺寸变化时会被触发 | App、微信小程序 |
onPullDownRefresh | 用户下拉页面时触发,一般用于页面下拉刷新 | 所有 |
onReachBottom | 页面上拉滚动触底时触发 | 所有 |
onTabItemTap | 点击底部 tab 栏时触发,参数为 Object | 微信小程序、百度小程序、H5、App |
onShareAppMessage | 点击右上角分享时触发 | 微信小程序、百度小程序、字节跳动小程序、支付宝小程序 |
onPageScroll | 页面滚动时触发,只监听页面垂直滚动 | 所有 |
onNavigationBarButtonTap | 监听原生标题栏按钮点击事件 | App、H5 |
onBackPress | 页面返回时触发 | App、H5 |
onNavigationBarSearchInputChanged | 监听原生标题栏搜索输入框输入内容变化事件 | App、H5 |
onNavigationBarSearchInputConfirmed | 监听原生标题栏搜索输入框搜索事件 | App、H5 |
onNavigationBarSearchInputClicked | 监听原生标题栏搜索输入框点击事件 | App、H5 |
说明
1 onLoad 参数说明
//index.vue
//跳转语句,并在跳转链接上面加上要传递的数据
uni.reLaunch({
url: 'test?name=我是首页的数据'
});
//me.vue
export default {
//options参数就是上个页面传递过来的数据
onLoad: function (options) {
console.log(options.name);
}
}
//打印出来的结果
我是首页的数据
2 onPullDownRefresh 函数 用于监听该页面用户下拉页面的动作。
//pages.json
{
"path": "pages/index/index.vue",
"style": {
"enablePullDownRefresh": true
}
}
//页面,隐藏下拉状态
export default{
onPullDownRefresh(){
console.log('用户下拉页面时触发')
uni.stopPullDownRefresh()
}
}
3 onTabItemTap 参数说明
属性 | 类型 | 说明 |
---|---|---|
index | String | 被点击 tabItem 的序号,从 0 开始 |
pagePath | String | 被点击 tabItem 的页面路径 |
text | String | 被点击 tabItem 的按钮文字 |
export default {
onTabItemTap(options) {
console.log('被点击tabItem的序号index:' + options.index)
console.log('被点击tabItem的页面路径pagePath:' + options.pagePath)
console.log('被点击tabItem的按钮文字text:' + options.text)
}
}
注意以下几点:
4 onNavigationBarButtonTap 参数说明
属性 | 类型 | 说明 |
---|---|---|
index | Number | 原生标题栏按钮数组的下标 |
export default {
onNavigationBarButtonTap(options) {
console.log('index:' + options.index)
}
}
5 onBackPress 参数说明
export default {
onBackPress(options) {
console.log('from:' + options.from)
}
}
三 组件生命周期
函数名 | 应用 |
---|---|
beforeCreate | 实例初始化之后调用 |
created | 实例创建完成后调用 |
beforeMount | 模板编译之前调用 |
mounted | 模板编译完成调用 |
beforeUpdate | 数据更新时调用,发生在虚拟 DOM 打补丁之前 |
updated | 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子 |
beforeDestroy | 实例销毁之前调用 |
destroyed | 实例销毁后调用 |
四 页面生命周期和组件生命周期的执行顺序
页面生命周期函数 onLoad:页面加载
页面生命周期函数 onShow:页面显示
beforeCreate:实例初始化
created:实例创建完成
beforeMount:模板编译之前
mounted:模板编译完成
页面生命周期函数 onReady:页面初次显示