uniapp的生命周期函数

生命周期
文章目录

  • 生命周期
    • 应用生命周期
    • 页面生命周期
    • 组件的生命周期

应用生命周期
应用生命周期仅可在App.vue中监听, 在其它页面监听无效
函数名 说明
onLaunch uni-app初始化完成时触发(全局只触发一次)
onShow uni-app启动, 或从后台进入前台显示
onHide uni-app从前台进入后台
onError uni-app报错时触发
onUniNViewMessage nvue页面发送的数据进行监听
  • nvue是属于weex编写范畴, 作用增强uniapp对原生部分的支持
页面生命周期
函数名 说明
onLoad 监听页面加载, 其参数为上个页面传递的数据, 参数类型为Object(用于页面传参)
onShow 监听页面显示. 页面每次出现在屏幕上都触发, 包括从下级页面点返回露出当前页面
onReady 监听页面初次渲染完成. 注意如果渲染速度快, 会在页面进入动画完成前触发
onHide 监听页面隐藏
onUnload 监听页面卸载
onResize 监听窗口尺寸变化
onPullDownRefresh 监听用户下拉动作,一般用于下拉刷新
onReachBottom 页面滚动到底部的事件(不是scroll-view滚动到底), 常用于下拉下一页数据.
onTabItemTap 点击tab时触发,参数为Object
onShareAppMessage 用户点击右上角分享
onPageScroll 监听页面滚动,参数为Object
onNavigationBarButtonTap 监听原生标题栏按钮点击事件,参数为Object
onBackPress 监听页面返回
onNavigationBarSearchInputChanged 监听原生标题栏搜索输入框输入内容变化事件
onNavigationBarSearchIputConfirmed 监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的"搜索"按钮时触发
onNavigationBarSearchInputClicked 监听原生标题栏搜索输入框点击事件
【uniapp的生命周期函数】注意:
  • onPullDownRefresh:下拉刷新, 需要在pages.json里, 找到当前页面的pages节点, 并在整体的style选项中开启enablePullDownRefresh. 当处理完数据刷新后,
    • uni.stopPullDownRefresh可以停止当前页面的下拉刷新.
    • 如果想让某页不刷新, 可以在该页的style中设置 enablePullDownRefresh 为false
  • onTeachBottom使用注意, 可在pages.json里定义具体页面底部的触发距离onReachBottomDistance, 比如设置为50, 那么滚动页面到距离底部50px时, 就会触发onReachBottom事件.
  • 如使用scroll-view导致页面没有滚动, 则触底事件不会被触发.
  • onPageScroll(监听滚动 滚动监听 滚动事件) 参数说明:
属性 类型 说明
scrollTop Number 页面在垂直方向已滚动的距离(单位px)
  • onTabItemTap 返回的json对象说明:
属性 类型 说明
index String 被点击tabItem的序号,从0开始
pagePath Strign 被点击tabItem的页面路径
text String 被点击tabItem的按钮文字
  • onNavigationgationBarButtonTap参数说明:
属性 类型 说明
index Number 原生标题栏按钮数组的下标
组件的生命周期
uni-app组件支持的生命周期, 与vue标准组件的生命周期相同. 这里没有页面级的onLoad等生命周期
函数名 说明
beforeCreate 在实例初始化之后被调用
created 在实例创建完成后被立即调用
beforreMount 在挂载开始之前被调用
mounted 挂载到实例上去之后调用.
beforeUpdate 数据更新时调用, 发生在虚拟DOM打补丁之前
updated 由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子
beforeDestroy 实例销毁之前调用. 在这一步, 实例仍然完全可见
destroyed Vue实例销毁后调用.调用后,Vue实例指示的所有东西都会解绑定, 所有的事件监听器都会被移出, 所有的子实例也会被销毁

    推荐阅读