微信小程序通过点击事件传参(data-)

这篇具有很好参考价值的文章主要介绍了微信小程序通过点击事件传参(data-)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

大家都知道在 vue 中,我们可以直接在点击事件中放入传递的参数进行传参;然而微信小程序中并不适用这样的写法,但是微信小程序可以通过自定义属性从而绑定参数使用。


data- 的用法

微信小程序可以通过直接写 data-index="1" 进行数据的绑定 ,利用 bindtap 点击事件执行函数从而获取到参数信息。

<view bindtap="triggers" data-idType="1">点击我</view>

注意:

data- 是固定的写法,- 后面可以取任意的名字,但是需要强调的是在获取的时候要写相对应的名字,例如:data-index = "1" ,获取时就是 e.target.dataset.index

下面通过一个简单的代码小实例带大家更直观的了解 data- 的用法。

wxml文件

<!-- 按钮触发事件 -->
<view bindtap="triggers" data-idType="1">点击我</view>

js文件

Page({
    data: {},
    //点击事件
    triggers(e) {
        console.log(e.currentTarget.dataset.idtype); // 1
    },
})

如下图:

微信小程序通过点击事件传参(data-)


为什么有些时候 target 中也可以取到值?

在事件处理中,e.targete.currentTarget 分别表示事件的目标元素和当前元素。在某些情况下,特别是当你绑定事件处理函数的元素包含子元素时,你可能会在 e.target 中找到你想要的值。

但是,需要注意的是,e.targete.currentTarget 之间的区别很重要:

e.target 表示触发事件的元素,即实际点击的元素。
e.currentTarget 表示绑定事件处理程序的元素,即当前元素。
在你的代码中,点击了或 元素,它们都是 e.currentTarget 的子元素,但事件实际上是在包含它们的元素上触发的。因此,使用 e.currentTarget.dataset 更安全和可靠,因为它总是引用你绑定事件的元素的数据属性。

虽然在某些情况下 e.target 也可以包含你想要的数据,但为了代码的可维护性和可读性,最好使用 e.currentTarget 来获取数据属性的值,因为这更符合代码的意图和结构。

当绑定事件处理函数的元素包含子元素时,可以通过代码来演示 e.targete.currentTarget 之间的区别。以下是一个示例:

wxml文件

<view bindtap="handleClick" data-value="Parent">
    <image src="../../assets/cheliang.png" data-value="Child"></image>
</view>

js文件

Page({
  handleClick(e) {
    console.log(e.target.dataset.value); // 输出子元素的值
    console.log(e.currentTarget.dataset.value); // 输出父元素的值
  }
})

在这个示例中,有一个包含图片的 <view> 元素,点击图片或 <view> 元素都会触发相同的事件处理函数。在事件处理函数中,我们可以演示两者的区别:

微信小程序通过点击事件传参(data-)

当你点击图片时,e.target 表示图片元素,因此 e.target.dataset.value 输出子元素的值,即 『Child』。而 e.currentTarget 表示绑定事件的 元素,因此 e.currentTarget.dataset.value 输出父元素的值,即 『Parent』

这个示例清晰地展示了 e.targete.currentTarget 之间的区别。e.target 始终表示触发事件的元素,而 e.currentTarget 始终表示绑定事件的元素。

换一种方式来看

微信小程序通过点击事件传参(data-)
微信小程序通过点击事件传参(data-)

如下图:

微信小程序通过点击事件传参(data-)
是拿不到 data-value 的值的。文章来源地址https://www.toymoban.com/news/detail-507138.html

到了这里,关于微信小程序通过点击事件传参(data-)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序事件传参

    微信小程序怎么事件传参 dataset 对象 每个虚拟dom身上都拥有一个dataset对象 给虚拟 dom 绑定上 data-自定义键=“值”的这种属性,例如: 想要传一个id: 绑定上此种格式的属性后,会被去除 data- ,然后以键值对的形式添加在虚拟 dom 身上的dataset 对象身上。 事件对象 事件函数

    2024年02月09日
    浏览(37)
  • 微信小程序的跨页面传参以及data-方法的相关细节

    🙂博主:小猫娃来啦 🙂文章核心: 微信小程序的跨页面传参以及data-方法的相关细节 其实在学习新东西的过程中,最快速的方式就是多看官方文档。 很多技术层面的东西,官方文档其实讲的很清楚了。 vue这个渐进式框架在很久以前,是没有多少官方文档供人学习的,但现

    2024年02月11日
    浏览(42)
  • 微信小程序之点击事件

    微信小程序中常用的点击事件主要是  tap ,但除此之外还有其他的触摸类事件,用于不同的交互场景。以下是一些常见的点击和触摸相关的事件及其区别: 3.1.冒泡事件: 冒泡(Bubble)是一种事件传播机制,在Web开发领域和微信小程序中广泛存在。当用户在一个页面元素上触

    2024年04月23日
    浏览(30)
  • 微信小程序 事件传参,参数同步显示 button提交内容,读取input内容

    我们先来回顾一下之前学的内容 我们可以在button组件中加入bindtap参数进行事件绑定 然后我们也能在input组件中加入bindinput参数进行事件绑定  结合以上内容我们接着学习,这么让事件绑定前端数据与后端同步 其实很简单,先来学习 先来一个基础的代码 我们给button一个事件

    2024年02月09日
    浏览(80)
  • 微信小程序点击事件(bindtap)传递参数

    小程序在组件上绑定事件后,传递参数的方式不同于前端开发其他场景中直接加参数的方式,小程序在参数的传递时,采用事件对象的自定义属性的方式,具体实现如下: wxml: view bindtap=\\\"goTo\\\" data-index =\\\"{{item.index}}\\\"点击事件传参/view js中: goTo: function(e){     // 传递的参数    

    2024年02月12日
    浏览(43)
  • 【无标题】微信小程序如果VIEW绑定点击事件

    微信小程序如果VIEW绑定点击事件,而且绑定的VIEW中存在许多子元素,会出现一下问题: 在回调函数中使用e.target来获取消息,虽然触发了点击事件,但是传递的消息是空值,只有点击在空白区域才会返回有效值。 解决方法:使用e.currentTarget来获取消息。 js回调函数: wxml代

    2024年02月08日
    浏览(31)
  • 微信小程序-如何点击marker触发事件更改图标icon

    最近在做课设,要求实现一个找附近停车位的功能 绿色marker为空闲车位,红色marker为占用车位,现要求实现点击绿色marker,进行上锁操作,并让绿色锁改为红色锁。 如下图所示: 点击中间绿色锁,跳出弹窗,点击关锁,则锁变红色。 倘若点击红色锁的关锁,则会提示 “该

    2024年02月03日
    浏览(48)
  • 微信小程序事件点击跳转页面的五种方法

    第一种:标签 这是最常见的一种跳转方式,相当于html里的a标签 第二种:wx.navigateTo({})方法 1.前端wxml 2.js应用 第三种:wx.redirectTo({}) 功能描述: 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 类似于页面跳转时 重定向页面,类似于html中的 window.open(‘…

    2024年02月16日
    浏览(35)
  • uniapp点击事件在小程序中无法传参

    这个问题很是神奇,第一次遇到。在h5中,点击事件可以正常传参,打包小程序后确失效了。 修改:for循环中的key,使用 index就好了

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包