微信小程序生命周期
微信小程序有以下几个生命周期函数:
- 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); }
通过在不同的生命周期函数中编写相应的代码操作,可以实现对小程序的控制和逻辑处理。