微信小程序框架wxml(五)wxml事件
来源:互联网 发布:java type类型 编辑:程序博客网 时间:2024/04/27 01:52
1.事件定义
· 事件是视图层到逻辑层的通讯方式。
· 事件可以将用户的行为反馈到逻辑层进行处理。
· 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
· 事件对象可以携带额外信息,如id,dataset,touches。
2.举例事件的使用方法。
(1)首先在wxml的组件中为button绑定一个事件处理函数
<button id="button0" bindtap="wannaMore" data-hello='hello world' data-index="0">跳转到更多示例</button>(2)在js文件中定义wannaMore函数
Page({ wannaMore:function(event){ console.log(event) }})(3)在控制台查看输出信息,可以看到data-hello和data-index都在dataset进行展示,且省略了data-字段。
3.事件分类
绑定事件处理函数可以由“catch”或“bind”连接事件类型,两者之间的区别是catch会阻止事件向上冒泡,bind不会阻止事件向上冒泡。绑定后在page中定义同名函数,否则会报错。
(1)冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
类型 触发条件 最低版本
(2)非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。(除了上述说明的事件类型为冒泡时间外,其余均为非冒泡事件)。
(3)demo
①wxml中三个view组件 outer到inner依次包裹
<view id="outer" bindtap="handtap"> outer view <view id="middle" catchtap="handtap"> middle view <view id="inner" bindtap="handtap"> inner view </view> </view></view>②在js中定义handtap方法。(在该例中三个view都绑定了同一函数,可以绑定三个不同的函数)
Page({ handtap:function(message){ console.log(message.currentTarget.id + " is clicked!") }})③点击inner view,查看控制台输出,冒泡事件到middle view后没有继续向上冒泡。
4.事件对象
一般来说,组件触发事件时,逻辑层(js文件中)绑定该事件的处理函数会收到一个事件对象。
(1)BaseEvent基础事件对象属性列表
属性 类型 说明
②timeStamp从该page打开到触发该事件所经过的毫秒数。
③target 触发事件的源组件。(其中:dataset在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-
开头,多个单词由连字符-
链接,不能有大写(大写会自动转成小写)如data-element-type
,最终在 event.currentTarget.dataset 中会将连字符转成elementType
。
)
属性 类型 说明
data-
开头的自定义属性组成的集合④currentTarget事件绑定的当前组件
属性 类型 说明
data-
开头的自定义属性组成的集合(2)CustomEvent自定义事件对象属性列表(继承自BaseEvent)
属性 类型 说明
属性 类型 说明
属性 类型 说明
(4)特殊事件 ,cavans组件中的触摸事件不可冒泡,所以没有currentTarget属性
CanvasTouch 对象
- 微信小程序框架wxml(五)wxml事件
- 微信小程序框架wxml(一)wxml数据绑定
- 微信小程序框架wxml(二)wxml列表渲染
- 微信小程序框架wxml(三)wxml条件渲染
- 微信小程序框架wxml(四)wxml模板
- 微信小程序框架wxml(六)wxml引用
- 小程序WXML之事件
- 1.3.1微信小程序 WXML
- 微信小程序入门五: wxml文件引用、模版、生命周期
- 微信小程序入门五: wxml文件引用、模版、生命周期
- 微信小程序的学习(3)-视图层WXML
- 微信小程序-订单评价交互样式(WXML&WXSS&JS)
- 微信小程序WXML之列表渲染
- 微信小程序wxml和wxss样式
- 微信小程序 Html转Json转Wxml
- 微信小程序 四 wxss引用 wxml引用
- 微信小程序:wxml组件整理,待补充......
- 微信小程序WXML之列表渲染
- es6 异步函数 async/awiat 理解
- Sizeof与Strlen区别
- 搭建后台环境遇到的几个错误及找到的解决办法(需更新)
- 路由习题
- 您有一封来自IBM的邀请函,请查收......
- 微信小程序框架wxml(五)wxml事件
- 支付清算体系介绍及案例说明
- popen和pclose
- 致那些没有打倒你的人
- 常见的数据结构和算法整理
- adnroid串口编程
- 第二章作业
- 【Linux】多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
- Android 插件化开发