微信小程序中事件对象event和事件传参data-*和mark:*

351 阅读1分钟

事件对象event属性

  1. type:触发的事件类型。
  2. timeStamp: 事件生成时的时间戳。
  3. target:触发事件的组件的一些属性值集合。触发事件的组件。
  4. currentTarget:当前组件的一些属性值集合。绑定该事件的组件。
  5. mark:事件标记数据。包括本节点到根节点所有的mark数据。
  6. detail:CustomEvent自定义事件对象属性列表。如input组件的input事件、scroll-view的scroll事件、form的submit事件等官方组件和自定义组件会有,自定义组件的detail传递子组件triggerEvent发射给父组件的值。

target属性

触发事件的组件。

  1. id:事件源组件的id。
  2. dataset:绑定该事件的源组件上由data-开头的自定义属性组成的集合。

currentTarget属性

绑定该事件的组件。

  1. id:当前组件的id。
  2. dataset:当前组件上由data-开头的自定义属性组成的集合。

事件传参

data-变量名 传参

  1. data-*传递参数时会被转换为全部小写
  2. 传参在事件对象event.currentTarget.dataset查看。
    <button data-testButtonData="btnData" bind:tap="onBindTapBtnData">测试事件传参</button>

image.png

mark:变量名 传参

  1. mark:*包括本节点到根节点所有的mark数据。
  2. 传参数据在事件对象event.mark查看。
  <view mark:fatherMark="fMark">
    <button data-testButtonData="btnData" mark:btnMark="btnMark" bind:tap="onBindTapBtnData">测试事件传参</button>
  </view>

image.png