小程序3---->events属性、setData

205 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情

在支付宝小程序中每个页面新添加了events属性,这个是微信小程序里没有的。

events属性

  1. 它里面可以放一些系统本身就有的一些监听方法,它里面监听的方法中的参数,需要通过e获取,当然也可以不叫e,叫做别的参数。
  2. 除此之外没有其他特别含义,只是看起来代码更简洁。
  3. 以下是 events 支持的事件函数列表:
事件类型描述最低版本
onBackFunction导航栏左侧返回按钮(以及 Android 系统返回键)被点击时触发1.13.7
onKeyboardHeightFunction键盘高度变化时触发。1.13.7
onOptionMenuClickFunction点击导航栏额外图标触发。1.13.7
onPullDownRefreshFunction({from: manual/code})页面下拉时触发。1.13.7
onTitleClickFunction点击标题触发。1.13.7
onTabItemTapFunction点击非当前 tabItem 后触发。1.13.7
beforeTabItemTapFunction点击非当前 tabItem 前触发。1.13.7
onResizeFunction({size: {windowWidth: number, windowHeight: number}})window 尺寸改变时触发。1.16.0
onSelectedTabItemTapFunction({pagePath, text,index})点击当前 tabItem 后触发。2.7.2

其他自定义的事件处理函数和生命周期函数不能写events:{}在这里。

this.setData({},callback)是异步操作,callback在页面渲染更新完成之后执行。

在我们使用过程中,需要注意以下几点:

  • 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
  • 仅支持设置可 JSON 化的数据。
  • 请尽量避免一次设置过多的数据和频繁多次调用 setData(),两种情况都会影响性能。尤其会影响首屏渲染速度。
  • 请不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗留一些潜在问题。