微信小程序页面行为详解
- 页面加载(onLoad):
- 当微信客户端加载页面时,会触发
onLoad事件。 onLoad在页面销毁前只会触发一次。- 在
onLoad的回调函数中,可以获取当前页面的打开参数option。
- 当微信客户端加载页面时,会触发
- 页面显示(onShow):
- 当页面显示时,会调用
onShow方法。 - 特别是从其他页面返回到当前页面时,
onShow方法会被触发。
- 当页面显示时,会调用
- 页面初次渲染完成(onReady):
- 当页面初次渲染完成时,会调用
onReady方法。 onReady在页面没被销毁前也只会触发一次。- 此时,逻辑层可以与视图层进行交互。
- 当页面初次渲染完成时,会调用
- 页面隐藏(onHide):
- 当页面不可见时,会调用
onHide方法。 - 这种情况通常发生在切换到其他页面或底部tab切换时。
- 当页面不可见时,会调用
- 页面卸载(onUnload):
- 当页面被销毁回收时,会调用
onUnload方法。 - 这通常发生在使用
wx.redirectTo或wx.navigateBack返回到其他页面时。
- 当页面被销毁回收时,会调用
二、购物商城列表页与详情页逻辑
在购物商城中,列表页与详情页之间的跳转和数据传递是常见的需求。
- 建立详情页:
- 首先,创建一个空的详情页模板。
- 注册跳转页面:
- 在商品列表页中,为每个商品注册一个跳转详情页的链接,链接中带上商品的ID和其他参数。
- 使用
wx.navigateTo方法实现跳转,并传递参数。
- 详情页获取参数:
- 在详情页的
onLoad回调函数中,通过option参数获取传递过来的商品ID和其他信息。 - 根据商品ID绘制对应的商品信息。
- 在详情页的
三、页面数据与用户行为
页面数据:
- 界面渲染原理:
- WXML通过数据绑定语法绑定逻辑层传递过来的数据字段。
- 这些数据来自于页面
Page构造器的data字段。 - 使用
setData方法更新数据,微信会自动刷新页面。
- setData注意事项:
- 直接修改
this.data而不调用this.setData无法改变页面状态,还会造成数据不一致。 - 为了提高性能,每次设置的数据不应超过1024kB。
- 不要把
data中的任意一项的value设为undefined,以免引起不可预料的bug。
- 直接修改
热门文章
推荐文章