小程序开发中事件指的是什么

这篇文章给大家分享的是有关小程序开发中事件指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联主要业务有网站营销策划、成都网站制作、做网站、微信公众号开发、小程序开发H5场景定制、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、成都营销网站建设资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。 

微信小程序开发中什么是事件?从事件的定义解释,事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理,同时绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。除此之外事件对象可以携带额外信息,如 id, dataset, touches。

由于微信小程序框架采用逻辑层与UI层分析的设计方式,这种设计方式需要解决两个问题:视图层响应逻辑层逻辑和数据的变化,视图层将用户的操作反馈到逻辑层。微信定义了一些语法和规则来帮助开发者连接视图层和逻辑层。通过数据绑定可以解决前一个问题,而第二个问题就需要用事件来解决。

事件绑定

通过事件绑定来完成对用户操作的响应,比如要处理view标签的tap事件,在标签属性中添加bindtap = \'tapName\', 然后在.js中添加tapName函数

//wxml
Click me!
//.js
Page({
tapName:function(event) {
console.log(event)
}
})

event对象包含一些关于事件的数据:

target:触发事件的组件

currentTarget:当前组件

type:事件类型

timeStamp:时间戳(页面打开到触发事件所经过的毫秒数)

touches:包含触摸点的数组(多点触控)

changedTouches :发生改变的触摸点的数组(多点触控)

detail:额外的自定义信息

冒泡事件和非冒泡事件

为什么会有target和currentTarget之分呢,这是由于事件分为两类,冒泡事件和非冒泡事件

冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

其中tap事件是属于冒泡事件(这也是为什么上面例子中的event会包含currentTarget)。

为什么需要冒泡事件

有了冒泡事件,就可以更加方便的实现一些功能。

比如程序有一个视图,包含用户头像和姓名,当用户点击头像或姓名时,进入用户详情页面。如果没有冒泡事件,就需要处理头像和姓名的点击事件,而现在只需在外层包裹一个组件,并处理该组件的事件即可。

阻止事件冒泡

在有些情况下可能会希望阻止事件的冒泡行为,可以使用catch事件绑定,如catchtap,就可以阻止事件的冒泡行为。

可以通过下面的代码示例来加深对冒泡事件的理解

//.wxml
我是父亲节点
我是儿子节点
我是孙子节点

//.js
Page({
handleTapOutter:function(event) {
console.log(父亲节点被点击)
},
handleTapMiddle:function(event) {
console.log(儿子节点被点击)
},
handleInner:function(event) {
console.log(孙子节点被点击)
},
})

总结下来事件就是指发生了一些事情,通常是用户进行了一些操作,如点击某个按钮或在手机屏幕上滑动了手指。当事件发生时,框架会调用事件处理函数(如果有的话),这样就可以实现对用户操作的响应。

感谢各位的阅读!关于“小程序开发中事件指的是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


网页名称:小程序开发中事件指的是什么
文章起源:http://myzitong.com/article/pigopg.html