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 有所不同。