小程序开发中什么是事件?(小程序自定义事件)

网友投稿 511 2022-10-02

小程序开发中什么是事件?(小程序自定义事件)

小程序开发中什么是事件?(小程序自定义事件)

程序员必备接口测试调试工具:立即使用Apipost = Postman + Swagger + Mock + Jmeter Api设计、调试、文档、自动化测试工具 后端、前端、测试,同时在线协作,内容实时同步

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

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

事件绑定

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

//wxmlClick me!//.jsPage({tapName:function(event) {console.log(event)}})-

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

target:触发事件的组件

currentTarget:当前组件

type:事件类型

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

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

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

detail:额外的自定义信息

冒泡事件和非冒泡事件

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

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

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

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

为什么需要冒泡事件

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

阻止事件冒泡

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

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

推荐:《小程序开发教程》

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:「微服务架构」Saga 模式 如何使用微服务实现业务事务-第二部分
下一篇:springboot使用redisRepository和redistemplate操作redis的过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~