[摘要]前面说到,微信小程序框架是逻辑层与UI层分析的设计方式,这种设计方式需要解决两个问题UI层响应逻辑层逻辑和数据的变化UI层将用户的操作反馈到逻辑层其中前面讲到的数据绑定解决了第一个问题,而事件则解决...
前面说到,微信小程序框架是逻辑层与UI层分析的设计方式,这种设计方式需要解决两个问题
UI层响应逻辑层逻辑和数据的变化
UI层将用户的操作反馈到逻辑层
其中前面讲到的数据绑定解决了第一个问题,而事件则解决第二个问题
什么是事件
事件是视图层到逻辑层的通讯方式。
事件可以将用户的行为反馈到逻辑层进行处理。
事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
事件对象可以携带额外信息,如 id, dataset, touches。
总结下来事件就是指发生了一些事情,通常是用户进行了一些操作,如点击某个按钮或在手机屏幕上滑动了手指。当事件发生时,框架会调用事件处理函数(如果有的话),这样就可以实现对用户操作的响应。
事件绑定
通过事件绑定来完成对用户操作的响应,比如要处理view
标签的tap事件,在标签属性中添加bindtap = 'tapName'
, 然后在.js中添加tapName
函数
//wxml
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
//.js
Page({
tapName: function(event) {
console.log(event)
}
})
比如程序有一个视图,包含用户头像和姓名,当用户点击头像或姓名时,进入用户详情页面。如果没有冒泡事件,就需要处理头像和姓名的点击事件,而现在只需在外层包裹一个组件,并处理该组件的事件即可。