uniapp是一个跨平台开发框架,其生命周期类似于Web应用程序的生命周期,分为App生命周期页面生命周期组件生命周期。

一、App生命周期

App生命周期是指在用户打开或关闭UniApp应用时整个应用程序的生命周期,其包括以下几个阶段:

  1. onLaunch:当应用程序启动时该函数被调用,UniApp应用的全局变量和全局事件可以在该函数中初始化;
  2. onShow:当应用程序从后台切换到前台时该函数被调用,开发者可以在该函数中处理应用程序切换到前台后的一些操作,比如获取数据、刷新页面等;
  3. onHide:当应用程序从前台切换到后台时该函数被调用,开发者可以在该函数中处理应用程序切换到后台后的一些操作,比如停止播放音乐、释放资源等;
  4. onError:当应用程序发生错误时该函数被调用,开发者可以在该函数中处理错误信息,并在应用程序崩溃前做一些资源释放或其他清理操作;
  5. onUniNViewMessage:当应用程序收到uni-app页面(包括h5和小程序端)发来的消息时,该函数会被调用,开发者可以在该函数中处理uni-app页面传来的消息。

二、页面生命周期

页面生命周期是指UniApp应用中单个页面的生命周期,其包括以下几个阶段:

  1. onLoad:当页面加载时该函数被调用,开发者可以在该函数中请求数据并刷新页面;
  2. onShow:当页面展示时该函数被调用,开发者可以在该函数中更新数据和页面状态;
  3. onHide:当页面被隐藏时该函数被调用,开发者可以在该函数中停止播放音乐、释放资源等;
  4. onUnload:当页面卸载时该函数被调用,开发者可以在该函数中释放页面占用的资源;
  5. onPullDownRefresh:当页面下拉时该函数被调用,开发者可以在该函数中处理下拉刷新事件;
  6. onReachBottom:当页面滚动到底部时该函数被调用,开发者可以在该函数中处理加载更多事件;
  7. onShareAppMessage:当页面被分享时该函数被调用,开发者可以在该函数中配置分享信息;
  8. onPageScroll:当页面滚动时该函数被调用,开发者可以在该函数中处理页面滚动事件。

三、组件生命周期

组件生命周期是指UniApp应用中组件的生命周期,其包括以下几个阶段:

  1. created:当组件实例被创建时该函数被调用;
  2. attached:当组件被添加到页面节点树中时该函数被调用;
  3. ready:当组件渲染完毕并且可以和页面交互时该函数被调用;
  4. moved:当组件被移动到新的位置时该函数被调用;
  5. detached:当组件被从页面节点树中移除时该函数被调用。

注意
划重点了: 组件中是没有页面的生命周期的 比如这样一个场景,在你写好一个页面A之后,发现这个A页面是其他页面B的一部分,这时你需要将最开始写的这个A页面抽离成一个组件。然后将这个组件A以子组件的形式引入到B中。
这时要注意的是,你以前在页面中onShow,onLoad的写的代码是不会被调用的,原因就是组件中是没有页面的生命周期的解决: 可以将以前onShow,onLoad中的代码放到mounted或者created中。