微信小程序开发-数据事件绑定

🐳简介

数据绑定

数据绑定是一种将小程序中的数据与页面元素关联起来的技术,使得当数据变化时,页面元素能够自动更新。这通常使用特定的语法(如双大括号 {{ }})来实现,以便在页面上展示动态数据。

事件绑定

事件绑定是将用户操作(如点击、滑动等)与特定的处理函数关联起来的过程。当用户执行这些操作时,会触发相应的处理函数并执行特定的代码逻辑。事件绑定通常使用特定的语法(如 bindtap)来实现。

🐳数据绑定Mustache语法

🐤内容绑定

在xml中我们可以通过下面方式,使用双大括号将变量包起来,进行数据绑定

<view>{{要绑定的数据名称}}</view>

在页面的js文件中的data对象里面,我们可以在这里定义数据初始化数据

如下图中的data中定义了一个motto:'Hello World'

 我们就可以在xml中通过<view>{{motto}}</view>对这个数据进行绑定

🐤绑定属性

在data中继续加入属性,一个图片的URL地址

data: {motto: 'Hello World',img:'https://c-ssl.duitang.com/uploads/item/201408/02/20140802211120_t34dW.jpeg'
}

 然后我们就可以在xml中通过<image src="{{img}}"></image>对图片进行绑定

🐳事件绑定

在小程序中,常用的事件用于处理用户与界面元素的交互。以下是一些常见的事件类型:

  1. 点击事件(tap)
    1. 当用户点击某个组件时触发。例如,bindtap 或 catchtap 用于按钮、图片、文本等组件。
  2. 触摸事件
    • touchstart:触摸开始
    • touchmove:触摸移动
    • touchend:触摸结束
    • touchcancel:触摸取消(如来电等导致触摸中断)
  3. 长按事件(longpress)
    • 当用户长按某个组件时触发。常用于实现长按预览、长按删除等功能。
  4. 滑动事件(scroll)
    • 在可滚动视图区域滚动时触发。常用于滚动视图、列表等组件。
  5. 输入事件
    • input:常用于输入框(<input> 或 <textarea>)中,当内容改变时触发。
    • confirm:在 <input type="text" confirm-type="..."/> 中,用户点击键盘的完成按钮时触发。
  6. 表单事件
    • formsubmit:表单提交时触发。
    • formreset:表单重置时触发。

🐤点击事件绑定

以tap事件为例,我们通过tap事件来相应用户的点击行为,如下定义一个按钮

<button type="primary" bindtap="btnTapHandler">按钮</button>

 在js文件中定义事件的处理函数,但按钮被点击时就会触发函数

🐤点击事件绑定传参

假设你有一个按钮,你想在用户点击它时触发一个事件,并传递一个参数:

<button bindtap="handleClick" data-param="{{yourParam}}">点击我</button>

在对应的JS文件中,你需要定义handleClick函数,并接收传递的参数:

Page({  data: {  yourParam: 'Hello, World!'  },  handleClick: function(e) {  // 通过e.currentTarget.dataset获取传递的参数  var param = e.currentTarget.dataset.param;  console.log(param); // 输出:Hello, World!  // ... 在这里处理你的逻辑 ...  }  
})

这样当点击按钮时,函数中就会接受到对应参数,并打印到控制台! 

<input type="text" bindinput="handleInput" placeholder="请输入内容" />

🐤输入事件

bindinput用于监听输入框(<input>)的输入内容变化事件。当用户在输入框中输入内容时,bindinput绑定的事件处理函数会被触发。

在输入框上使用bindinput属性,并指定一个事件处理函数名。例如:

<input type="text" bindinput="handleInput" placeholder="请输入内容" />

在对应的JS文件中,你需要定义handleInput函数,并接收一个事件对象参数e。这个事件对象包含了关于触发事件的详细信息,例如输入的内容。你可以通过e.detail.value获取输入框的当前值。

Page({  handleInput: function(e) {  // e.detail.value 就是输入框的当前值  var inputValue = e.detail.value;  console.log(inputValue); // 打印输入内容  // ... 在这里处理你的逻辑 ...  }  
})

当每次在输入框输入值时就会触发一次handleInput函数!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小微公司可用的开源ERP系统

项目介绍 华夏ERP是基于SpringBoot框架和SaaS模式的企业资源规划&#xff08;ERP&#xff09;软件&#xff0c;旨在为中小企业提供开源且易用的ERP解决方案。它专注于提供进销存、财务和生产功能&#xff0c;涵盖了零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询…

VALSE 2024 Workshop报告分享┆ 大规模自动驾驶仿真系统研究

视觉与学习青年学者研讨会&#xff08;VALSE&#xff09;旨在为从事计算机视觉、图像处理、模式识别与机器学习研究的中国青年学者提供一个广泛而深入的学术交流平台。该平台旨在促进国内青年学者的思想交流和学术合作&#xff0c;以期在相关领域做出显著的学术贡献&#xff0c…

【三】DRF序列化进阶

序列化器的定义与使用 多表关联序列化 【1】准备工作 # settings.py DATABASES {default: {# 数据库引擎选择使用MySQLENGINE: django.db.backends.mysql,# 指定数据库名字&#xff0c;需提前创建NAME: books,# 指定数据库用户名USER: root,# 指定数据库用户密码PASSWORD: …

嵌入式学习69-C++(Opencv)

知识零碎&#xff1a; QT的两种编译模式 1.debug 调试模式 …

时序图详解

1.这是iic总线在回应时候的时序图&#xff0c;data in代表eeprom收到数据&#xff0c;回stm32的ack&#xff0c;数据回应&#xff0c;data out代表stm32收到eeprom的消息&#xff0c;数据输出ack回应 2.交叉线 代表在这一次输出高电平&#xff0c;或者在这一次也可能输出低电…

【bash】笔记

在Shell脚本中&#xff0c;-e 是一个测试运算符&#xff0c;用于检查给定的文件或目录是否存在。 | 是通道符&#xff0c;会把前面的输出给后面作为输入。 sudo tee命令在这里用于同时更新文件和在终端显示输出&#xff08;尽管 > /dev/null 将标准输出重定向到黑洞&…

ai智能答题助手,这四款软件让知识触手可及!

在数字化时代&#xff0c;知识的获取变得前所未有的便捷。随着人工智能技术的不断发展&#xff0c;AI智能答题助手应运而生&#xff0c;成为了人们学习、工作和生活中的得力助手。今天&#xff0c;就为大家介绍四款备受欢迎的AI智能答题助手软件&#xff0c;让你感受知识的魅力…

俄罗斯国际消费类电子电器展ICEE:人潮如织,盛况空前

近日&#xff0c;备受全球瞩目的俄罗斯国际消费类电子电器展ICEE在莫斯科盛大落幕。本次展会为期四天&#xff0c;真的攒足了眼球&#xff0c;不仅俄罗斯这边的很多媒体和自媒体有报道&#xff0c;展会第一天&#xff0c;很多参展商通过短视频平台将展会的盛况传到了国内&#…

libcity/model/trajectory_loc_prediction/DeepMove.py

1 DeepMove 1.1 构造函数 1.2 初始化权重 1.3 forward 1.4 predict def predict(self, batch):score self.forward(batch)if self.evaluate_method sample:# build pos_neg_inedxpos_neg_index torch.cat((batch[target].unsqueeze(1), batch[neg_loc]), dim1)score tor…

在思科和华为上实现两个主机A,B A能ping通B,B不能ping通A

1.华为实验的topo如下 常规状态下任意两台主机都是可以ping通的 此时的需求是PC4能ping通PC2和PC3但是PC2和PC3不能ping通PC4 这里需要用到ACL策略 在接口上调用 验证&#xff1a; PC4能ping通PC2和PC3 PC2和PC3不能ping通PC4 2.思科类似 正常情况下是都能互相ping通 加上ac…

深入了解 NumPy:深度学习中的数学运算利器

文章目录 1. 导入NumPy2. 创建NumPy数组3. 数组的算术运算4. N维数组4.1 创建和操作多维数组4.2 高维数组 5. NumPy的广播功能5.1 基本广播示例5.2 更复杂的广播示例 6. 访问数组元素6.1 基于索引的访问6.2 遍历数组6.3 基于条件的访问6.4 高级索引6.5 性能考虑 在深度学习和数…

【idea-sprongboot项目】在linux服务器上纯远程开发方式

继上一篇博客【idea-sprongboot项目】SSH连接云服务器进行远程开发-CSDN博客 目录 五、远程开发方式 2&#xff09;纯远程开发方式 步骤 五、远程开发方式 2&#xff09;纯远程开发方式 实现原理&#xff0c; 步骤 &#xff08;1&#xff09;首先&#xff0c;关闭当前正在…

springMVC入门学习

目录 1、 什么是springmvc 2、springmvc工作流程 3、 springmvc快速入门&#xff08;XML版本&#xff09; 4、加载自定义目录下的springmvc.xml配置文件 5、 解析器InternalResourceViewResolver 6、 映射器BeanNameUrlHandlerMapping 7、 适配器SimpleControllerHandle…

el-select 点击按钮滚动到选择框顶部

主要代码是在visibleChange 在这个 popper 里面找到 .el-select-dropdown__list let popper ref.$refs.popper const ref this.$refs.select let dom popper.querySelector(.el-select-dropdown__list) setTimeout(() > { dom.scrollIntoView() }, 800) <templat…

CSF(Cloth Simulation Filter)点云地面点滤波

CSF[Cloth Simulation Filter]点云地面点滤波 0.引言1.布料模拟2.修改布料模拟3.布料滤波4.CSF总体过程 0.引言 code 基本原理&#xff1a;原始点云被倒置过来&#xff0c;然后⼀块布从上⽅掉落到倒置的表⾯。通过分析布的节点与相应的LIDAR点之间的相互作⽤&#xff0c;可以确…

【中级软件设计师】上午题15-计算机网络

上午题15-计算机网络 1 网络设备2 协议簇3 TCP和UDP4 SMTP和POP35 ARP和RARP6 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;7 URL8 浏览器9 IP地址和子网划分10 IPv611 Windows命令12 路由器 1 网络设备 物理层设备&#xff1a;中继器、集线器&#xff0…

Mysql基础(五)外键约束

一 外键 激励&#xff1a; 每天进步一点点即可 ① 思考 1、在MySQL中,我们知道主键 PRIMARY KEY的主要作用是唯一区分表中的各个行 [记录];思考&#xff1a;但是对于外键 foreign key比较陌生? 那么外键作用以及限制条件和目的呢? ② 外键的定义 1、外键是某个表 A中…

图像处理之SVD检测显示屏缺陷(C++)

图像处理之SVD检测显示屏缺陷&#xff08;C&#xff09; 文章目录 图像处理之SVD检测显示屏缺陷&#xff08;C&#xff09;前言一、SVD算法简介二、代码实现总结 前言 显示屏缺陷检测是机器视觉领域的一处较广泛的应用场景&#xff0c;显示屏主要有LCD和OLED&#xff0c;缺陷类…

基于java,SpringBoot和Vue的智慧校园在线考试留言讨论系统设计

摘要 基于Java, SpringBoot和Vue的智慧校园在线考试留言讨论系统是一个为现代教育需求定制的Web应用&#xff0c;它结合了最新的前后端技术来提供一个互动性强、用户友好的学习和交流平台。该系统旨在通过提供实时留言和讨论功能&#xff0c;增进学生间的互动以及师生之间的沟…

快来看 2024年ICLR杰出论文奖揭晓啦 值得关注

会议之眼 快讯 在人工智能的浪潮中&#xff0c;国际学习表征会议&#xff08;ICLR&#xff09;无疑是引领学术前沿的重要会议之一&#xff01;ICLR是深度学习领域的顶级会议之一&#xff0c;由深度学习领域的两位巨头Yoshua Bengio和Yann LeCun于2013年创办。 2024年5月6日&a…