加载中 ...
首页 > 新闻资讯 > 经验心得 正文

事件关键字bind和catch之间的区别,事件对象target和currentTarget之间的区别.

2019-07-12 22:30:18 来源:沈阳小程序开发 作者:沈阳软件开发

这是微信小程序步进系列中的第一个。要了解有关微信小程序开发的更多信息,请关注我的《微信小程序》列。

前言

开发微信小程序离不开“事件”,初学者很难理解小程序中的“事件”是什么,如何使用它?我们来看看官方文档的解释:095147ydjnj9id9j7hd991.png

看来你无法搞清楚。实际上,它是视图和逻辑(js)之间的通信方法。它类似于传统网页中的onclick事件。了解vue的学生也可以将其视为听众。简单绑定事件的示例如下:

点击我!页面({tapName(e){console.log(e)}})

乍一看,它有点像vue语法,但有一点不同,就是传递参数的方式不同。所以在这里我们需要注意小程序事件是一组自定义属性的事实,这些属性以当前组件上的数据开头。例如,上面的代码定义了hi属性,tapName方法获得的参数e扩展如下:

{ 'type': 'tap', 'timeStamp': 895, 'target': { 'id': 'tapTest', 'dataset': { 'hi': 'WeChat' } }, 'currentTarget': { 'id': 'tapTest', 'dataset': { 'hi': 'WeChat' } }, 'detail': { 'x': 53, 'y': 14 }, 'touches': [ { 'identifier': 0, 'pageX': 53, 'pageY': 14, 'clientX': 53, 'clientY': 14 } ], 'changedTouches': [ { 'identifier': 0, 'pageX': 53, 'pageY': 14, 'clientX': 53, 'clientY': 14 } ]}

xxxx 我们看到hi属性在dataset.target和dataset.currentTarget下,其中(参数e)是一个对象,也就是说,绑定的hi属性可以传递给e.dataset.target.hi或e.dataset.currentTarget。嗨来吧。所以,我们初步了解了小程序事件,但是当我们使用它时,我们发现还有很多地方没有被注意到。

接下来,访问该主题并探讨文章标题中的问题(当然,后来有一些沈阳小程序开发

ad.jpg

蛋)

一、 bind 和 catch 有什么区别

如果您已经学习了前端基础知识,您应该知道浏览器事件模型,它分为捕获,目标和冒泡三个阶段(如果您需要了解具体细节,您可以自己百度)。 小程序事件模型并不复杂,最初只是冒泡阶段,分为冒泡事件(绑定)和非冒泡事件(catch)。当然,目前支持捕获阶段。本文未提供深入解释。我有兴趣查看官方文档。看到这里,你知道bind是一个冒泡的事件,catch是一个非冒泡的事件。如果你不知道冒泡是什么,那么我可以解释一下:鱼

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。