美文网首页
微信小程序 事件传参

微信小程序 事件传参

作者: bianruifeng | 来源:发表于2020-03-21 21:44 被阅读0次

什么是事件

  • 事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。
  • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
  • 事件对象可以携带额外信息,如 id, dataset, touches。

bindtap 事件传参

wxml

<view class='content' data-gid='{{item.gId}}' data-name='{{item.name}}' data-reply-Type='{{item.type}}' bindtap='open'>

js

open: function (event) {
    var $this = this;
    console.log(event.currentTarget.dataset.gid)
    console.log(event.currentTarget.dataset.name)
    console.log(event.currentTarget.dataset.replyType)
  },

需要注意:

1、data-名称 不能有大写字母,如果需要,可以通过 - (中划线)来连接单词,编译的时候小程序会将第二个单词首字母自动大写。图中代码是为了自己标志,所以第二个单词的首字母大写了,其实可以不用。data-* 属性中不可以存放对象。

2、注意打印结果中target和currentTarget的区别。

target 触发事件的源组件。
currentTarget 事件绑定的当前组件。

如果你在父容器上绑定了事件并传参,当你点击父容器时,事件绑定的组件和触发事件的源组件是同一个元素,所以currentTarget 、target 都可以拿到参数,但是当你点击子元素时,target 就不是事件绑定的组件了,所以拿不到参数。
由于事件冒泡的机制,父容器上绑定的事件依然可以触发,所以currentTarget 依然可以拿到参数。

相关文章

网友评论

      本文标题:微信小程序 事件传参

      本文链接:https://www.haomeiwen.com/subject/ywouyhtx.html