加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

微信小程序-点击事件传递参数

发布时间:2020-12-14 19:01:57 所属栏目:资源 来源:网络整理
导读:1、dataset 在标签中利用?data-xxx? 来定义你要传入的参数,, 然后事件中传入 event 用?event.currentTarget.dataset.xxx?来取你传入的值 在 WXML 中,这些自定义数据以? data- ?开头,多个单词由连字符? - ?连接。这种写法中,连字符写法会转换成驼峰写法

1、dataset

在标签中利用?data-xxx? 来定义你要传入的参数,,

然后事件中传入 event 用?event.currentTarget.dataset.xxx?来取你传入的值

在 WXML 中,这些自定义数据以?data-?开头,多个单词由连字符?-?连接。这种写法中,连字符写法会转换成驼峰写法,而大写字符会自动转成小写字符。如:

  • data-element-type?,最终会呈现为?event.currentTarget.dataset.elementType?;
  • data-elementType?,最终会呈现为?event.currentTarget.dataset.elementtype?。
<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({
  bindViewTap:function(event){
    event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法
    event.currentTarget.dataset.alphabeta === 2  大写会转为小写
  }
})

2、mark

?2.7.1?以上,可以使用?mark?来识别具体触发事件的 target 节点。此外,?mark?还可以用于承载一些自定义数据(类似于?dataset?)。

当事件触发时,事件冒泡路径上所有的?mark?会被合并,并返回给事件回调函数。(即使事件不是冒泡事件,也会?mark?。)

mark:myMark="last">
  button mark:anotherMark="leaf"="bindButtonTap">按钮button>
>

如果按钮被点击,将触发?bindViewTap?和?bindButtonTap?两个事件,事件携带的?event.mark?将包含?myMark?和?anotherMark?两项。

Page({
  bindViewTap: (e) {
    e.mark.myMark === "last"  true
    e.mark.anotherMark === "leaf"  true
  }
})

细节注意事项:

  • 如果存在同名的?mark?,父节点的?mark?会被子节点覆盖。
  • 在自定义组件中接收事件时,?mark?不包含自定义组件外的节点的?mark?。
  • 不同于?dataset?,节点的?mark?不会做连字符和大小写转换。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读