微信小程序生命周期
微信小程序有以下几个生命周期函数:
-
onLaunch:小程序初始化时触发,只会执行一次。可以在此函数中进行全局的初始化操作。
-
onShow:小程序启动或从后台进入前台显示时触发。可以在此函数中执行需要在小程序显示时进行的逻辑操作。
-
onHide:小程序从前台进入后台时触发。可以在此函数中执行需要在小程序隐藏时进行的逻辑操作。
-
onUnload:小程序被关闭时触发(例如通过手动关闭或者调用
wx.navigateBack
返回到了小程序启动页面)。可以在此函数中执行需要在小程序关闭时进行的清理操作。 -
onError:小程序出现错误时触发。通常用于捕获并处理小程序运行时的异常情况。
-
页面相关的生命周期函数:每个小程序页面也有自己的生命周期函数,包括
onLoad
、onShow
、onReady
、onHide
、onUnload
等。这些生命周期函数与全局生命周期函数类似,但是针对页面级别的操作。
以上是微信小程序的主要生命周期函数。通过合理利用这些生命周期函数,开发者可以在不同的阶段执行相应的逻辑和操作,以实现更好的用户体验。
在微信小程序中,可以通过生命周期函数来执行相应的代码操作。以下是一些常见的生命周期代码操作示例:
- 在 onLoad 生命周期中进行数据初始化和网络请求:
onLoad: function(options) {
// 数据初始化
this.setData({
name: 'John',
age: 25
});
// 网络请求
wx.request({
url: 'https://api.example.com/data',
success: function(res) {
console.log(res.data);
}
});
}
- 在 onShow 生命周期中进行页面渲染和数据更新:
onShow: function() {
// 页面渲染
this.setData({
title: 'Welcome to my app!'
});
// 数据更新
this.setData({
count: this.data.count + 1
});
}
- 在 onReady 生命周期中进行页面布局调整和动画效果:
onReady: function() {
// 页面布局调整
wx.createSelectorQuery().select('.box').boundingClientRect(function(rect) {
console.log(rect.width);
}).exec();
// 动画效果
var animation = wx.createAnimation({
duration: 1000,
timingFunction: 'ease'
});
animation.translateX(100).step();
this.setData({
animationData: animation.export()
});
}
- 在 onHide 生命周期中进行数据保存和清理:
onHide: function() {
// 数据保存
wx.setStorageSync('name', this.data.name);
// 清理数据
this.setData({
name: '',
age: 0
});
}
- 在 onUnload 生命周期中进行资源释放和数据保存:
onUnload: function() {
// 资源释放
wx.stopBackgroundAudio();
// 数据保存
wx.setStorageSync('count', this.data.count);
}
通过在不同的生命周期函数中编写相应的代码操作,可以实现对小程序的控制和逻辑处理。