微信小程序(页面生命周期)

本文详细介绍了微信小程序中页面的构造、注册以及生命周期函数,包括Page()构造器的使用、页面初始化数据、生命周期函数onLoad、onShow、onReady、onHide、onUnload的触发时机和调用顺序。此外,还提及了页面用户行为的回调,如onPullDownRefresh等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  • (1)页面构造/注册器Page()
  • (2)页面注册器参数
    • data初始化数据
    • 页面生命周期
    • 页面用户行为
  • (3)页面生命周期及顺序

前言

  • 注册页面:
  • 对于小程序中的每个页面,在页面对应的 page.js 文件中调用 Page 方法注册页面示例
  • 作用:指定页面的初始数据、生命周期回调、事件处理函数等。
  • 页面的生命周期:
  • 页面生命周期函数就是每进入/切换到一个新的页面的时候,就会调用的生命周期函数。

页面构造/注册器Page()

  • 宿主环境提供了 Page() 构造器用来注册小程序页面
  • Page()在页面脚本page.js中调用,Page() 的调用方式如下所示
    在这里插入图片描述
  • Page构造器接受一个Object参数
  • data属性是当前页面的初始数据
  • onLoad、onReady、onShow、onHide、onUnload ,这5个回调是Page页面实例的生命周期函数,即页面生命周期
  • onPullDownRefresh、onReachBottom、onShareAppMessage、onPageScroll ,这4个回调是页面的用户行为,即页面用户行为
  • Page构造器参数
    在这里插入图片描述
    在这里插入图片描述

页面生命周期

  • 接下来依次验证下页面各个生命周期函数

在这里插入图片描述

  • (1)监听页面“加载→显示→渲染”
    在这里插入图片描述
  • (2)监听页面切换隐藏
    在这里插入图片描述
  • (3)重新显示该页面
    在这里插入图片描述
  • (4)小程序切换后台(关闭按钮或者home键切换至后台)
    在这里插入图片描述
  • (5)小程序后台→前台
    在这里插入图片描述
  • (1)onLoad
  • 触发时机:页面加载时触发
  • 页面初次加载的时候,微信客户端就会给Page实例派发onLoad事件,Page构造器参数所定义的onLoad方法会被调用
  • 触发次数:onLoad在页面没被销毁之前只会触发1次
  • 参数:在onLoad的回调中,可以获取当前页面所调用的打开参数query,关于打开当前页面路径中的参数后续介绍
  • (2)onShow
  • 触发时机:页面显示/切入前台时触发
  • 页面显示之后,Page构造器参数所定义的onShow方法会被调用,一般从别的页面返回到当前页面时,当前页的onShow方法都会被调用。
  • 页面载入后触发onShow方法,显示页面。每次打开页面都会调用一次(比如当小程序有后台进入到前台运行或换页重新进入页面时)
  • 通俗理解:就是这个页面出现一次,他就被调用一次。包括你前进后退到这个页面。
  • (3)onReady
  • 触发时机:页面初次渲染完成时触发
  • 首次显示页面,页面初次渲染完成,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
  • 对界面的动态设置一般在onReady之后设置。
  • (4)onHide
  • 触发时机:页面隐藏/切入后台时触发
  • 如 wx.navigateTo 跳转或底部 tab 切换到其他页面,小程序切入后台等。
  • 即页面不可见时,Page构造器参数所定义的onHide方法会被调用,这种情况会在使用wx.navigateTo切换到其他页面、底部tab切换时触发。
  • (5)onUnload
  • 触发时机:页面卸载时触发
  • 如使用重定向方法wx.redirectTo或wx.navigateBack关闭当前页返回上一页时调用。
  • 即当前页面使用wx.redirectTo或wx.navigateBack返回到其他页时,当前页面会被微信客户端销毁回收,此时Page构造器参数所定义的onUnload方法会被调用。
  • 页面生命周期小结:
  • 页面生命周期函数的调用顺序为:onLoad>onShow>onReady
  • onHide函数为隐藏页面时触发,onUnload为卸载当前页面时触发。
  • 基本上加载一个小程序进来之后的执行顺序为
  • 小程序onLaunch–小程序onShow-页面onLoad–页面onShow–页面onReady
完毕,有问题请留言小编!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值