Vue、小程序和Uni-App都有各自的生命周期,下面是它们的生命周期介绍:
Vue 的生命周期
Vue 的生命周期分为创建、挂载、更新和销毁四个阶段,具体的生命周期函数如下:
- beforeCreate:实例刚在内存中被创建出来,此时还没有初始化好 data 和 methods 属性。
- created:实例已经在内存中创建完成,data 和 methods 属性已经完成初始化。可以进行数据的操作,如异步请求数据。
- beforeMount:在挂载开始之前被调用,此时 Vue 实例的模板已经编译完成,但尚未挂载到页面中。
- mounted:实例挂载到页面后调用,此时可以进行 DOM 操作,如获取元素节点。
- beforeUpdate:数据更新之前调用,发生在虚拟 DOM 重新渲染和打补丁之前。可以在该钩子中进行更新前的操作。
- updated:数据更新之后调用,发生在虚拟 DOM 重新渲染和打补丁之后。可以在该钩子中进行更新后的操作。
- beforeDestroy:实例销毁之前调用。在这个阶段,实例仍然完全可用。
- destroyed:实例销毁后调用。此时,Vue 实例的所有指令、事件监听器都已经被移除,组件也会被销毁。
小程序的生命周期
小程序的生命周期分为创建、更新和销毁三个阶段,具体的生命周期函数如下:
- onLoad:页面加载时触发,可以获取页面参数。
- onShow:页面显示/切入前台时触发,每次打开页面都会触发。
- onReady:页面初次渲染完成时触发,可以进行页面元素操作。
- onHide:页面隐藏/切入后台时触发。
- onUnload:页面卸载时触发。
- onPullDownRefresh:用户下拉刷新时触发。
- onReachBottom:页面上拉触底时触发。
- onShareAppMessage:用户点击右上角分享时触发。
Uni-App 的生命周期
Uni-App 的生命周期与 Vue 的生命周期基本一致,除了增加了一些平台特有的生命周期函数,具体的生命周期函数如下:
- onLaunch:应用初始化时触发,全局只触发一次。
- onShow:应用启动或从后台进入前台时触发。
- onHide:应用从前台进入后台时触发。
- onError:应用发生脚本错误或 API 调用失败时触发。
- onUniNViewMessage:接收从 nvue 页面发送过来的数据。
需要注意的是,Uni-App 是基于 Vue 的跨平台框架,所以它的生命周期函数与 Vue 的生命周期函数大部分是一致的。而小程序是一种独立的开发框架,其生命周期函数与 Vue 和 Uni-App 有所不同。