微信小程序生命周期和事件处理

五. 事件处理

5.1 事件绑定

bind:事件类型=事件回调 / bind事件类型=事件回调

<!-- 按钮的点击事件的监听 
 bind(绑定,监听) tap(事件类型)  tap 轻击
 bing:tap / bingtap 
-->
<button type="primary" bindtap="onBtn" data-info="⭐"
 >click me</button>

小程序中使用 bind 进行事件的绑定 , 且在绑定的事件函数中, 是不可以传参的 , 所有只能使用其他的方式传参

事件传参

<!-- 小程序中的事件传参
 传参: data-*(自定义参数名)
       mark: * 
-->
<button bindtap="onBtn"  data-id="{{index}}" mark:f2="f2">事件传参</button>
  1. data- 自定义参数名=“值”
  2. mark : 自定义参数名=“值”

参数接收

小程序里面的参数是用事件对象完成接收的

data - * 传递的参数 是在 e.target.dataset中

mark: * 传递的参数 是在 e.mark 中

page({
  onBtn(e){
    // 参数接收 e.target.dataset.info
    console.log(e);
  },
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
5.2 常用的通用事件
  • bindtap 点击事件
  • bindlongpress 长按事件
  • bindinput 键盘输入事件
  • bindconfirm 回车事件
  • bindfocus 输入框聚焦事件
  • bindblur 输入框失焦事件
  • bindchange value 改变事件
  • bindsubmit 表单提交事件
  • bindreset 重置表单事件
5.3 组件事件

前面介绍的 tap 事件可以在绝大部分组件是监听,我们可以将其理解为通用事件类型,然而也有事件类型只属于某个组件,我们将其称为组件事件。

scroll-view 组件中的事件:

  • bind:scrolltolower 当滚动内容到达底部或最右侧时触发
  • bind:refresherrefresh 执行下拉操作时触发
  • refresher-enable 启用自定义下拉刷新

表单组件中的事件:

  • change 表单数据发生改变时触发(input 不支持)
  • submit 表单提交时触发,button 按钮必须指定 form-type 属性

六. 生命周期

生命周期是一些名称固定自动执行的函数。

6.1 页面生命周期
  • onLoad 在页面加载时触发,一个页面只会执行 1 次,常用于获取地址参数和网络请求
    • 参数 options 接收的是传递到当前页面路径中的参数
  • onShow 页面显示/切入前台时触发,常用于动态更新数据或状态
  • onReady 在页面初次渲染完成时执行,只会执行 1 次,常用于节点操作或动画交互等场景
  • onHide 在页面隐藏/切入后台时触发,常用于销毁长时间运行的任务,如定时器
  • onUnload 页面卸载时触发
6.2 组件生命周期

小程序自定义组件的生命周期需要定义在 lifetimes 中:

Component({
  //组件生命周期
  lifetimes: {}
})
  • created 在组件初步创建时执行,注意此时不能调用 setData
  • attached 在组件完成页面初始化的时候执行
  • ready 在组件布局完成后执行
  • detached 在组件被销毁的时候触发
6.3 小程序生命周期

小程序的生命周期定义在app.js里面

App({
  /*当小程序初始化完成时,会触发 onLaunch(全局只触发一次)*/
  onLaunch: function () {
    console.log('小程序启动了')
  },
  /* 当小程序启动,或从后台进入前台显示,会触发 onShow*/
  onShow: function (options) {
    console.log('小程序显示了',options)
  },
  /*当小程序从前台进入后台,会触发 onHide */
  onHide: function () {
    console.log('小程序隐藏了')
  },
  /* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息*/
  onError: function (msg) {}
})

  • onLaunch 小程序启动时执行1次,常用于获取场景值或者启动时的一些参数(如自定义分享)
  • onShow 小程序前台运行时执行,常用于更新数据或状态
  • onHide 小程序后台运行时执地,常用于销毁长时间运行的任务,如定时器
  • onError 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值