9shadow article banner
企业AI落地 · 企业级AI智能体 | AI智能设备软件开发 | 数字孪生 · 智慧园区 · 数字大屏 | App · 微信 · 小程序 | XR云展厅 · 元宇宙空间 | 虚拟仿真实训 | 品牌互动营销

微信小程序页面行为详解

  1. 页面加载(onLoad)
    • 当微信客户端加载页面时,会触发onLoad事件。
    • onLoad在页面销毁前只会触发一次。
    • onLoad的回调函数中,可以获取当前页面的打开参数option
  2. 页面显示(onShow)
    • 当页面显示时,会调用onShow方法。
    • 特别是从其他页面返回到当前页面时,onShow方法会被触发。
  3. 页面初次渲染完成(onReady)
    • 当页面初次渲染完成时,会调用onReady方法。
    • onReady在页面没被销毁前也只会触发一次。
    • 此时,逻辑层可以与视图层进行交互。
  4. 页面隐藏(onHide)
    • 当页面不可见时,会调用onHide方法。
    • 这种情况通常发生在切换到其他页面或底部tab切换时。
  5. 页面卸载(onUnload)
    • 当页面被销毁回收时,会调用onUnload方法。
    • 这通常发生在使用wx.redirectTowx.navigateBack返回到其他页面时。

二、购物商城列表页与详情页逻辑

在购物商城中,列表页与详情页之间的跳转和数据传递是常见的需求。

  1. 建立详情页
    • 首先,创建一个空的详情页模板。
  2. 注册跳转页面
    • 在商品列表页中,为每个商品注册一个跳转详情页的链接,链接中带上商品的ID和其他参数。
    • 使用wx.navigateTo方法实现跳转,并传递参数。
  3. 详情页获取参数
    • 在详情页的onLoad回调函数中,通过option参数获取传递过来的商品ID和其他信息。
    • 根据商品ID绘制对应的商品信息。

三、页面数据与用户行为

页面数据

  1. 界面渲染原理
    • WXML通过数据绑定语法绑定逻辑层传递过来的数据字段。
    • 这些数据来自于页面Page构造器的data字段。
    • 使用setData方法更新数据,微信会自动刷新页面。
  2. setData注意事项
    • 直接修改this.data而不调用this.setData无法改变页面状态,还会造成数据不一致。
    • 为了提高性能,每次设置的数据不应超过1024kB。
    • 不要把data中的任意一项的value设为undefined,以免引起不可预料的bug。