首先说一下什么是生命周期,不管是vue还是别的什么,生命周期说人话就是页面从初始化到销毁的整个过程被称为生命周期,vue的生命周期的话我帖子之前也没写过,也不知道整天做什么呢,这都不写,一样吧,趁这次整理uni-app的机会将vue的生命周期也简单的说一下,我只能说每一个环节适合做什么,具体内部的实现原理,我这里怕是误导别人,所以就不说了,我们重点按照uni-app的官网来说,毕竟是边学边记录的。
我们没有进行描述之前首先要明白的是,uni-app的生命周期是氛围三部分的,分别是应用的生命周期、页面的生命周期和组件的生命周期,那么分别对应项目中哪一个文件,下面会详细的说明,然后具体有哪些用,下面也会详细描述。
应用的生命周期说的就是我们的项目中的APP.vue的文件,主要包括下面几个阶段:
onLaunch: function(option) {
console.info(option)
console.log('App Launch')
},
这个option参数你可以不加,加上做什么呢?我们可以知道我们小程序是怎么进来的,看截图的代码:
这里的scene就是代表下面的代码:
也就是我们说的场景值。
这里onshow就很奇怪了,和onLaunch是一样的,但是为什么还有有一个onshow呢?不要着急,当我们第一次启动小程序以后,确实可以看到,这里是两个状态同时显示的:
当时当我们点击且后台的时候再看:
是不是发现只有onshow会出现,obLaunch并不会出现了!
页面的生命周期说的是我们的vue文件,我数了一下,一共有16个生命周期函数,这里如果一个一个的写,可能比较浪费时间,写几个比较常用的吧! 我们新建一个页面,里面啥都不做,只做生命周期的演示:test_lifecycle.vue
onLoad() {
console.info("onLoad")
},
onShow() {
console.info("onShow")
},
这里可以看的出来,这里只执行了一次的onLoad,但是每次我切换的时候onShow都会被执行
onReady(){
console.info("onReady")
},
onHide() {
console.info("onHide")
},
onPullDownRefresh() {
console.info("onPullDownRefresh")
},
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8",
"enablePullDownRefresh" : true
}
注意:这里如果直接全局设置的话,那么我们的每一个页面都会有这个下拉的功能,只是说不会触发该页面的函数,因为函数是独立的,那么如果我们不需要每一个都有的话,就可以直接在对应的页面下面进行设置该选项:比如说我们首页不需要下拉刷新的功能.有点意思
onTabItemTap() {
console.info("onTabItemTap")
},
onTabItemTap(el) {
//当然,你可以直接打印出来当前页面的tab属性
console.info(el)
},
onShareAppMessage() {
console.info("onShareAppMessage")
},
-结果:
注意:这里是可以设置我们分享的一些东西的
onShareAppMessage() {
console.info("onShareAppMessage")
return {
title : '惊天大新闻',
path : 'pages/index/index',
imageUrl : 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1584709020708&di=f416dcf538c30a81955753ff6f7dd865&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F78%2F52%2F01200000123847134434529793168.jpg'
}
},