小程序的生命周期

目录

一、生命周期的分类

二、生命周期函数的应用

1、(全局)应用的生命周期函数

 2、页面的生命周期函数

3、组件的生命周期函数


一、生命周期的分类

1、应用的生命周期

指小程序从启动—>运行—>销毁的过程

2、页面的生命周期

指每个页面,从加载—>渲染—>卸载的过程

3、组件的生命周期

每个子组件,创建—>进入页面节点渲染—>被页面节点移除的过程


二、生命周期函数的应用

1、(全局)应用的生命周期函数

* 在官方文档里,框架-框架接口-APP里可看到

App({
  // 监听小程序初始化
  onLaunch (options) {
     ...
  },

  // 监听小程序启动显示
  onShow (options) {
     ...
  },

  // 监听小程序隐藏(切入后台时)
  onHide () {
     ...
  },
})

 2、页面的生命周期函数

//index.js
Page({
  // 监听页面加载,一个页面只调用一次
  onLoad: function(options) {
      ...
  },

  // 页面显示时
  onShow: function() {
     ...
  },

  // 页面初次渲染完毕
  onReady: function() {
     ...
  },

  // 页面隐藏
  onHide: function() {
     ...
  },

  // 页面卸载
  onUnload: function() {
     ...
  },
})

3、组件的生命周期函数

官方推荐的方式是,组件的的生命周期可以在 lifetimes 字段内进行声明,其优先级最高

Component({
  // 在该字段下声明
  lifetimes: {

    created: function() {
      // 在组件实例被创建时,会触发
    },

    attached: function() {
      // 在组件实例进入页面节点树时执行
    },

    ready: function() {
      // 在组件在视图层布局完成后执行
    },

    moved: function() {
      // 在组件实例被移动到节点树另一个位置时执行
    },

    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },

    error: function() {
      // 每当组件方法抛出错误时执行
    },

  },
  
})

<think>好的,我现在需要帮助用户了解微信小程序中onShow生命周期函数的使用说明、文档和示例。首先,我得回忆一下相关的知识,并结合提供的引用内容来组织回答。 根据用户提供的引用,引用[1]提到onShow是在小程序启动或从后台进入前台时触发的。引用[2]解释了小程序生命周期的基本概念,而引用[3]和[4]涉及注册App实例时的操作和生命周期函数的总体内容。用户可能想知道onShow的具体应用场景,如何编写代码示例,以及注意事项。 首先,我需要明确onShow的定义和触发时机。然后,应该提供一个简单的代码示例,展示如何在App或Page中使用onShow。接下来,用户可能想知道onShow与其他生命周期函数的区别,比如onLaunch和onHide。此外,可能还需要提到使用场景,比如恢复数据、更新内容等。 需要确保回答结构清晰,分点说明,并包含示例代码。同时,根据用户的引用内容,引用[3]提到在生命周期函数中处理进入场景的参数,所以可能需要说明如何通过options获取场景值。但根据问题,用户可能更关注onShow本身,所以是否需要深入场景值要看是否有必要。 还要注意用户的问题中提到了文档和示例,所以应该引导用户参考官方文档,并给出示例代码。可能还需要比较onShow在App和Page中的不同使用方式,比如在App中监听整个小程序的前后台切换,而在Page中监听页面的显示。 最后,生成相关问题,帮助用户进一步学习,比如与onHide的区别、使用场景、参数获取等。 现在需要检查是否有遗漏的部分,比如是否提到了参数options的使用,或者是否需要强调onShow在App和Page中的不同。同时,确保代码示例正确,符合微信小程序的语法,比如在App的onShow中使用options.scene获取场景值,而在Page的onShow中可能不需要参数。 总结回答的结构应该是:定义、触发时机、代码示例(App和Page)、使用场景、注意事项,然后相关问题。确保引用正确的来源,比如引用[1]和[3]。</think>### 小程序生命周期函数 onShow 使用说明 #### 定义与触发时机 `onShow` 是微信小程序生命周期函数之一,主要用于监听小程序的显示状态: 1. **小程序启动时**(首次进入或冷启动)会自动触发。 2. **从后台切换回前台时**(如用户从其他应用返回小程序)也会触发[^1][^4]。 #### 代码示例 ##### 在 App 级别使用(`app.js`中) ```javascript App({ onShow(options) { // options 包含进入小程序的场景信息 console.log('小程序显示,场景值:', options.scene); // 例如:恢复用户登录状态或更新数据 this.globalData.isActive = true; }, globalData: { isActive: false } }); ``` 通过 `options.scene` 可获取进入小程序的场景值(如扫码、分享卡片等),用于判断入口来源[^3]。 ##### 在 Page 级别使用(页面.js中) ```javascript Page({ onShow() { // 页面显示时执行,例如刷新数据 this.setData({ content: '页面已显示' }); this.loadData(); }, loadData() { // 模拟网络请求 wx.request({ url: 'https://api.example.com/data', success: (res) => { this.setData({ list: res.data }); } }); } }); ``` #### 使用场景 1. **恢复页面状态**:如从后台返回时重新加载数据。 2. **更新动态内容**:如实时通知、未读消息数。 3. **监听场景值**:根据用户进入方式(扫码、分享)定制逻辑。 #### 注意事项 1. **与 `onLaunch` 的区别**:`onLaunch` 仅在首次启动时触发,`onShow` 在每次显示时触发(包括首次启动)[^1]。 2. **避免重复执行**:若逻辑需仅执行一次(如初始化),应结合 `onLaunch` 使用。 3. **轻量化操作**:避免在 `onShow` 中执行耗时任务,影响用户体验。 #### 官方文档 参考微信小程序官方文档:[生命周期函数](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%87%BD%E6%95%B0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值