应用生命周期
onShow
onLaunch
onHide
onError
onUniNViewMessage
onUnhandledRejection
对未处理的 Promise 拒绝事件监听函数(2.8.1+)
onPageNotFound
onThemeChange
页面生命周期
onReady
监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
onLoad
onShow
onHide
onUnload
onResize
onBackPress()
监听页面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack表示来源是 uni.navigateBack ;详细说明及使用:onBackPress 详解(opens new window)。支付宝小程序只有真机能触发,只能监听非navigateBack引起的返回,不可阻止默认行为。
支持:app、H5、支付宝小程序
onBackPress() {
if(this.showMask) {
this.showMask = false;
return true; //返回true会阻止返回操作
}
},
onReachBottom
页面触底事件,可以用来实现上拉加载
页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据。具体见下方注意事项
onUnload
onPullDownRefresh
监听页面的下拉刷新。监听用户下拉动作,一般用于下拉刷新
下拉刷新后阻止下拉刷新样式继续显示
// 停止下拉刷新
uni.stopPullDownRefresh()
当页面中需要用到下拉刷新功能时,打开pages.json,在”globalStyle”里设置”enablePullDownRefresh”:true
此时所有页面都可以完成下拉刷新功能
如果想在单个页面中不执行刷新功能:在pages.json里单个页面上添加
onTabItemTap
onShareAppMessage
用户点击右上角分享
可以在转发时设置转发标题,路径和图片
onShareAppMessage(e) {
return {
title: '视频名片',//转发标题
path: `/pages/login/login?companyId=${getUserInfoByStorage().bindCompanyId}&employeeId=${getUserInfoByStorage().id}`
}
},
onPageScroll
onNavigationBarButtonTap
onNavigationBarSearchInputChanged
onNavigationBarSearchInputConfirmed
监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发
onNavigationBarSearchInputClicked
组件生命周期
beforeCreate
created
beforeMount
在挂载开始之前被调用
该钩子在服务器端渲染期间不被调用。
使用方法:在主页面中引入组件,在组件中写
mounted
挂载到实例上去之后调用(该钩子在服务器端渲染期间不被调用)
注意 mounted 不会保证所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,
可以在 mounted 内部使用vm.$nextTick:
mounted: function () {
this.$nextTick(function () {
// Code that will run only after the
// entire view has been rendered
})
}
beforeUpdate
数据更新时调用,发生在虚拟 DOM 打补丁之前(该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务端进行)
updated
由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子(该钩子在服务器端渲染期间不被调用)
beforeDestroy
实例销毁之前调用。在这一步,实例仍然完全可用(该钩子在服务器端渲染期间不被调用)
destroyed
Vue 实例销毁后调用(该钩子在服务器端渲染期间不被调用)