事件简介
①本质:事件是视图层到逻辑层的通讯方式。
②作用:事件可以将用户的行为反馈到逻辑层进行处理。
③应用:事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
④参数:事件对象可以携带额外信息,如id,dataset,touches
事件类型
在编写代码中,使用频率高的事件方式是:
- 单击:tap
- 长按:longtap
- 滑动:touchstart、touchmove、touchend、touchcancel
常见的事件类型:
注意:touch触屏系列事件常结合画布canvas组件使用,简单了解即可。
事件绑定
事件绑定的写法同组件的属性,以key、value的形式。
- key以bind或catch开头,然后跟上事件的类型,如bindtap、catchtap等,自基础库版本1.5.0起,在非原生组件中,bind和catch后可以紧跟一个冒号,其含义不变,如:bind:tap、catch:touchstart
- value是一个字符串,需要在对应的Page中定义同名的函数。不然当触发事件的时候会报错
- bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡
案例:(bindtap和catchtap的区别)
<view class="parent" bindtap="parentFn">
<view class="child" catchtap="childFn"></view>
</view>
.parent{
width: 100%;
height: 200rpx;
background: palegreen;
}
.child{
width: 200rpx;
height: 200rpx;
background: greenyellow;
}
parentFn(){
console.log("父级")
},
childFn()