Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序bindtap的作用_小程序分享带参数

微信小程序bindtap的作用_小程序分享带参数

作者头像
全栈程序员站长
发布于 2022-08-03 00:53:08
发布于 2022-08-03 00:53:08
4.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

之前一直以为微信小程序按钮点击事件传参是和web端相同,即在事件中写明所传递的参数即可,但是这样尝试过以后发现小程序的控制台报错,报所写的bindtap中参数错误,之后百度发现,小程序按钮点击这类事件时一般的处理方法是指明元素所在的id,bindtap只是写明函数名,例如,bindtap=’setNumber’,而不是bindtap=’setNumber(1)’,在js中只要写function(e).通过e可以获取所传过来元素的所有信息。

以下是我所百度的资料。

什么是事件

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

看图,因为需要传递的数据比较多,所以我们通过dataset携带参数信息。如果只有一个参数,可以通过id来传递

详解(以常见的tap点击事情为例)

wxml

代码语言:html
AI代码解释
复制
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

JS

代码语言:css
AI代码解释
复制
Page({ tapName: function(event) { console.log(event) }
})

event 打印结果

代码语言:c#
AI代码解释
复制
{
"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
}]
}

注意两点:

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

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

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

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

说明

id传参和dataset类似,只是最后获取值的时候不同。event.currentTarget.id

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125123.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序之事件系统
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
菲宇
2019/10/22
1.3K0
二、小程序框架
小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。
天蝎座的程序媛
2023/10/17
3430
二、小程序框架
《微信小程序七日谈》- 第一天:人生若只如初见
《微信小程序七日谈》系列文章: 本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。 微信小程序自公布以来就被捧上了天,新闻一波接一波。一部分声音来自前端界,把小程序当成前端历史地位提升的一次革新;一部分声音来自app开发界,把小程序当成失业的助推器(摊手)。本文的目的不是讨论小程序的是或非,只是记录一下笔者在开发小程序过程中一些收获和感想。 有消息称第一批微信小程序在12月中下旬发布,在那之前,需要将已完成的小程序向腾讯提交审核。58到家看准了这次推广的机会,制定了小程序开发计
寒月十八
2018/01/30
7740
《微信小程序七日谈》- 第一天:人生若只如初见
微信小程序,开发大起底
作者简介:张智超,北京微函工坊开发工程师,CSDN微信开发知识库特邀编辑。微信小程序爱好者。 感谢@翟东平 @qq_31383345 @nigelyq 等热情参与和共建 责编:CSDN知识图谱小助手 「小程序」是什么 张小龙在朋友圈里这样解释道:小程序是一种不需要下载安装即可使用的应用,它实现了应用「触手可及」的梦想,用户扫一扫或搜一下即可打开应用。也体现了「用完即走」的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 微信小程序是一种全新的连接用户与服务的方式,它可以
智能算法
2018/04/03
1.6K0
微信小程序,开发大起底
微信小程序个人心得「建议收藏」
官方给出了app.json五个配置项列表.(pages(Array), window(Object), tabBar(Object), networkTimeout(Object), debug(Boolean)),接着我们就详细的分下一下这几个配置项.
全栈程序员站长
2022/11/04
1.9K0
微信小程序个人心得「建议收藏」
全栈开发工程师微信小程序-中(中)
official-account 用户扫码打开小程序,在小程序内配置公众号关注组件,快捷关注公众号.
达达前端
2019/07/03
8450
全栈开发工程师微信小程序-中(中)
浅析微信小程序的事件机制
知晓程序是爱范儿旗下专注小程序生态的品牌,我们已经做了这些: 知晓程序公众号(微信号 zxcx0101):做最好的小程序媒体,让你了解小程序的一切 小程序商店(minapp.com):全网首家小程序商店,已吸引海量小程序入驻,数量仍在不断增长中 未来小程序活动矩阵:包含黑客马拉松、MindTalk 、WorkShop,创造多样的小程序交流分享空间 《微信小程序入门指南电子书》:全网首本小程序电子书,已在多看阅读、微信读书、QQ 阅读上架 文 | 一斤代码 事件机制是一种非常典型的通讯方式。有了它,你可以令
知晓君
2018/06/28
9090
一斤代码深入理解系列(一):微信小程序事件机制
事件机制是一种非常典型的通讯方式,可以在代码中的不同对象之间传递信息,也可以在应用的不同层面进行沟通协作。今天我们想看来一下微信小程序框架提供的事件处理机制。 小程序官方文档对事件的定义是: 事件是视图层到逻辑层的通信方式 事件可以将用户的行为反馈到逻辑层进行处理 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。 事件对象可以携带额外信息,如 id, dataset, touches。 从这里我们可以看到,官方文档主要将事件用于小程序中针对用户交互行为的处理,即视图层(WXML)
极乐君
2018/02/05
1.1K0
一斤代码深入理解系列(一):微信小程序事件机制
微信开发--微信小程序(三)
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
生南星
2019/07/22
19.2K0
微信小程序:WXML模板语法
把data中的数据绑定到页面中渲染,使用Mustache语法(双大括号)将变量包起来即可。
岳泽以
2023/03/17
2.1K0
微信小程序:WXML模板语法
微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现
先来看看今天的整体思路: 进入分组管理页面-->点击新建分组新建 进入到未分组页面基本操作 进入到已建分组里面底部菜单栏操作-->从名片夹中添加进行操作。 理清完基本流程我们开始开发。首先整个布局可以
ytkah
2018/03/06
2K0
微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现
10、微信小程序免费视频教程之事件绑定
事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
用户1272076
2019/03/26
5890
【微信小程序】事件绑定
事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的形式,反馈到逻辑层进行业务的处理。
hacker707
2022/10/31
1.1K0
【微信小程序】事件绑定
微信小程序开发
要求开发者有一些前端知识(HTML,CSS ,JavaScript), “工欲善其事必先利其器”,我们得先:
狂奔滴小马
2021/11/15
7.5K0
微信小程序开发
微信小程序内拖动图片实现移动、放大、旋转
最近接到一个任务,在微信小程序内拖动图片组件实现移动、放大、旋转,并记录这些图片的移动位置,放大比例,旋转角度,在一个画布上生成一张图片,最后保存到手机相册。
超级小可爱
2023/02/20
2.1K0
【小程序】数据和事件绑定和数据同步传参
把data中的数据绑定到页面中渲染,使用 Mustache 语法(双大括号)将变量包起来即可。语法格
陶然同学
2023/02/24
9780
【小程序】数据和事件绑定和数据同步传参
【愚公系列】2022年09月 微信小程序-three.js绘制正方体
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。
愚公搬代码
2022/09/28
1K0
【愚公系列】2022年09月 微信小程序-three.js绘制正方体
干货 | 用uni-app制作迷你PS小程序
该文章主要讲解最近基于 uni-app 框架编写的集图文拖拽等多方位编辑、油墨电子签名、开放式海报于一体的小程序的制作思路和实现代码。 1、完整源码链接: 完整代码:https://github.com/TensionMax/mini-ps 其中演示的文字编辑、图片编辑、油墨电子签名、开放式海报可单独使用,含文档说明。 2、实现思路 该工具主要由五个不同组件模块:文字编辑、图片编辑,油墨电子签名、控制、开放式海报 1、文字编辑模块设置好的文字参数对象插入到文字队列中。 2、图片编辑模块设置好的
腾讯NEXT学位
2020/02/24
1.3K0
干货 | 用uni-app制作迷你PS小程序
全栈开发工程师微信小程序-下
WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。
达达前端
2019/07/03
7560
全栈开发工程师微信小程序-下
微信小程序(二)学妹问我微信小程序左滑删除怎么实现
上篇文章记录了小程序的自定义导航栏的实现过程和小程序基础组件 cover-image 中 使用 fiexd 失效的坑。 前天突然在qq上看到一个学妹在群里@我问我小程序怎么实现左滑删除,今天正好周末有空,于是就在掘金上写了这篇文章。
andyhu
2022/12/14
5.7K0
微信小程序(二)学妹问我微信小程序左滑删除怎么实现
相关推荐
微信小程序之事件系统
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档