当前位置: 首页 > news >正文

小程序生命周期

一、小程序生命周期分为哪几类?
小程序里常见有两种生命周期:

  1. App 生命周期(整个小程序)
  2. Page 生命周期(页面)

二、App 生命周期(整个小程序)
写在 app.js里面

  • onLaunch:
    触发时机:小程序初始化完成时(全局只触发一次)
    常用场景:获取用户信息、登录、全局数据初始化

  • onShow:
    触发时机:小程序启动或从后台进入前台时
    常用场景:刷新数据、检查更新

  • onHide:
    触发时机:小程序从前台进入后台时
    常用场景:暂停定时器、保存数据

  • onError:
    触发时机:小程序发生脚本错误时
    常用场景:错误监控和上报

  • onPageNotFound:
    触发时机:页面不存在时
    常用场景:路由重定向、404处理

三、页面生命周期(Page)
页面生命周期指的是小程序中每个页面的生命周期过程。这些钩子函数定义在Page()方法中。

  • onLoad:
    触发时机:页面加载时(只触发一次)
    常用场景:接收参数、数据初始化、网络请求

  • onShow
    触发时机:页面显示时(每次进入都触发)
    常用场景:刷新数据、更新状态

  • onReady
    触发时机:页面初次渲染完成时(只触发一次)
    常用场景:获取节点信息、创建动画

  • onHide
    触发时机:页面隐藏时(跳转或切后台)
    常用场景:暂停音视频、停止定时器

  • onUnload
    触发时机:页面卸载时(关闭页面)
    常用场景:释放资源、清理监听

  • onPullDownRefresh
    触发时机: 用户下拉刷新时
    常用场景:刷新列表数据

  • onReachBottom
    触发时机: 页面滚动到底部时
    常用场景:加载更多数据

  • onShareAppMessage
    触发时机: 用户点击分享时
    常用场景:自定义分享内容

  • onPageScroll
    触发时机: 页面滚动时
    常用场景:导航栏渐变、返回顶部按钮

  • onResize
    触发时机: 页面尺寸变化时(仅手机)
    常用场景:横竖屏适配

四、常见问题与解决方案

  1. onLoad 和 onShow 区别
    onLoad:页面首次加载时触发,只触发一次,适合做数据初始化
    onShow:每次页面显示都触发,包括首次和从后台切回
  2. 页面返回为什么不执行 onLoad?
    因为页面没有销毁,只是隐藏了。所以返回时只触发 onShow
  3. onReachBottom 不触发怎么办?
// 检查以下几点Page({// 1. 检查页面高度是否足够滚动// 2. 检查是否设置了距离底部阈值onReachBottomDistance:100,// 距离底部100px时触发// 3. 检查是否有内容撑开页面// 4. 使用 scroll-view 组件时需要设置 scroll-y 和 bindscrolltolower})
  1. 如何监听页面返回?
// 方案1:使用 onShowPage({onShow(){// 每次页面显示都会触发,包括从下级页面返回}})// 方案2:使用页面栈和事件constpages=getCurrentPages();constcurrentPage=pages[pages.length-1];// 在下级页面调用上级页面方法currentPage.setData({needRefresh:true});
  1. 页面首次进入会经历的生命周期
页面首次进入: onLoad ↓ onShow ↓ onReady 页面跳转离开: onHide 页面关闭: onUnload
http://www.jsqmd.com/news/868597/

相关文章:

  • 2026硬包装塑胶模具厂家推荐:多穴模具定制加工厂+多腔精密模具厂家推荐盘点 - 栗子测评
  • 【NotebookLM风格一致性终极指南】:20年AI产品专家亲授3大校准框架与5步落地法
  • 2026年口碑好的惠州短视频推广高性价比公司 - 行业平台推荐
  • 《QGIS空间数据处理与高级制图》021:按属性字段融合要素
  • C++ 第十五章第十六章 案例教程 + 全课程回顾
  • 聊天服务器架构设计
  • 2026薄壁注塑模具厂家推荐:食品包装模具定制厂家指南 - 栗子测评
  • 第七章 指令微调学习(四)基于指令数据对大语言模型进行微调
  • AI 矩阵带货怎么做起来?现成系统一站式搭建落地
  • 深入了解指针(3)
  • 泰国双清包税哪家好?泰国清关哪家强?2026泰国海运清关强的公司+泰国陆运清关强的公司合集 - 栗子测评
  • Golang技术周刊 2026年第16周
  • 别再死磕修改了!paperxie 一站式搞定论文查重与降 AIGC 率,毕业党速码
  • 【编号110】64个地级市土地利用图
  • 开源fNIRS脑机接口帽技术解析与应用
  • 2026避雷塔厂家推荐:新疆角钢塔厂家+变电站架构+新疆钢管塔厂家+钢管杆厂家推荐精选 - 栗子测评
  • 2026 小众暴利 AI 项目,AI短剧带货,简单复制就能盈利
  • 开发靠 AI 提效,测试成最大瓶颈,现状过于真实
  • tensorflow:昇腾CANN的TensorFlow适配层
  • Python之anonymate包语法、参数和实际应用案例
  • c#基础知识合集08 随机数 DateTime
  • 衔接器CC Switch 小白图文安装,接入Claude Opus4.7+deekseep V4 +千问等等都不在话下,再也不用担心无法配置几个第三方大模型。
  • 如何重新定义华硕笔记本性能管理:探索G-Helper的轻量化解决方案
  • Cortex-M3/M4处理器模式判断与调试技巧
  • 2026电力金具厂家推荐:铁附件加工厂家+绝缘子厂家推荐名录 - 栗子测评
  • Ollama API 详解(学习笔记)
  • 到底什么是 AI 测试?AI 测试与传统测试的区别?
  • 量子计算与人工智能融合:技术原理与应用前景
  • 魔兽争霸3终极兼容方案:5分钟解决Win10/Win11运行问题
  • Python __slots__ 入门指南