看了一年多简书了,第一次发表文章。最近在学习小程序的相关知识,刚好学到生命周期,今天下午稍微总结了一下,分享给各位,如有不对的地方还请多多指教,不喜勿喷;
话不多说,直接上干货。
当我们直接启动小程序的时候,首先调用的是app.js中的onlaunch方法和onShow方法,同时还会执行主页面的onload方法和onshow方法以及onReady方法。
onlaunch:当小程序初始化完成时,会触发 onLaunch(全局只触发一次);
onShow:当小程序启动,或从后台进入前台显示,会触发 onShow;
主页面onLoad:加载页面;
onshow:页面显示;
onReady:页面初次渲染完成;
整个页面加载完成后,我们开始操作主页面,当从主页面跳转到另一个新页面时,有两种跳转方法(wx.navigateTo和wx.redirectTo),如果跳转执行navigateTo方法,
此时主页面会执行onHide方法,新页面会依次执行onLoad、onShow、onReady方法。当新页面返回主页面时,这时候新页面会调用onUnload方法,主页面又会调用onShow方法。
如果跳转执行的是的redirectTo方法时,主页面会执行onUnload方法(卸载),新页面会相继执行onLoad、onShow、onReady。这时候不能返回到主页面,因为redirectTo方法是将新页面覆盖原页面,而原页面已被卸载。
这就是小程序页面的生命周期。
以上是我个人理解,如有不对的地方,欢迎各位留言,多多指教。