每一个页面从生成到销毁这是一个周期,我们把这个周期叫做生命周期。在实际开发中,我们需要在页面不同的阶段进行逻辑操作,那么我们这个可以提供逻辑操作的场景叫做生命周期函数。接下来,我们来看看小程序的生命周期函数:
onLoad—页面加载的函数
此阶段,小程序页面刚创建时就会执行此函数。一个页面只会加载一次,且该函数会携带页面所调用的query参数。
onShow—页面显示—每一次打开页面都会调用
onReady—页面初次渲染已经完成
1、一个页面只会调用一次,此时view层已经就绪,并向逻辑层发送通知逻辑层可以和视图层进行交互;
2、此阶段可以对页面进行设置:如页面title,wx.setNavigationBarTitle
onHide—页面隐藏
页面navigateTo或者底部tab切换时调用
onUnload—页面卸载
页面被重定向或者页面返回时,即redirectTo、navigateBack时调用。
生命周期图
下图是生命周期函数示例图:(本图摘自微信小程序官网)
图片解读:
1、a、view层初始化;
b、appService层开始创建页面:
此时执行了onLoad函数开始监听页面的加载,onShow开始监听页面的显示;
c、逻辑层等待视图层发送准备完成的消息。
2、view层初始化完成,并向逻辑层发送通知;
view层等待逻辑层传递数据过来。
3、service层发送初始化的数据。(即:data对象中值)
service层等待view层的第一次渲染的结果。
4、view层完成第一次渲染,向service层发送通知;
service层监听到页面渲染完成,加载onReady监听函数。
*温馨提示:以上说明页面初次加载已经完成。
5、当service层对页面数据进行修改时,会向view层发送修改的数据。view接收到正确的数据后,页面重新渲染。
6、当页面被navigateTo或者小程序进行底部菜单切换时,onHide函数监听页面的隐藏。此时,view被重新渲染。
7、页面被重定向或者navigateBack时,onUnload函数监听页面的销毁。
**温馨提示:至此页面从创建到销毁的整个生命过程。
详情请参考:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html
温馨提示:扫码可以提问、交流。本人有各个行业的小程序前端代码,如有需要也可以扫码留言哦。