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

🐳简介

数据绑定

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

事件绑定

事件绑定是将用户操作(如点击、滑动等)与特定的处理函数关联起来的过程。当用户执行这些操作时,会触发相应的处理函数并执行特定的代码逻辑。事件绑定通常使用特定的语法(如 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.mfbz.cn/a/604223.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式与一致性协议之ZAB协议(八)

ZAB协议 如何实现读操作 相比写操作&#xff0c;读操作的处理要简单很多&#xff0c;因为接收到度请求的节点只需要查询本地数据&#xff0c;然后响应数据给客户端就可以了。读操作的核心流程如图所示。 1.跟随者在FollowerRequestProcessor.processRequest()中接收到度请求…

Python深度学习基于Tensorflow(6)神经网络基础

文章目录 使用Tensorflow解决XOR问题激活函数正向传播和反向传播解决过拟合权重正则化Dropout正则化批量正则化 BatchNormal权重初始化残差连接 选择优化算法传统梯度更新算法动量算法NAG算法AdaGrad算法RMSProp算法Adam算法如何选择优化算法 使用tf.keras构建神经网络使用Sequ…

射频无源器件之电桥

一. 电桥的定义及作用 电桥主要用于实现微波大功率功放系统的功率合成分配,信号采集等功能,被广泛应用于中国及全球4G/5G基站、5G网络覆盖、北斗导航天线、车载高精度导航(无人驾驶)天线等。可将信号分成有相位差的两路,90度电桥相位差90,180度电桥相位差180。 常说的3d…

【CSS】认识CSS选择器及各选择器对应的用法

目录 一、什么是CSS&#xff1f; 二、CSS 选择器 1. 标签选择器 2. 类选择器 3. ID选择器 4. 通配符选择器 5. 复合选择器 一、什么是CSS&#xff1f; CSS(Cascading Style Sheet)&#xff0c;层叠样式表。它与 HTML&#xff08;超文本标记语言&#xff09;一起使用&am…

c++11 的explicit关键字 -- 显示构建对象

概述: 在平时我们定义一个类&#xff0c;然后创建类对象可以有多种方式&#xff0c;主要分为两种: 声明一个Student类: class Student { public: Student(int age) { m_age age; } private: int m_age; }; 显示构建(explicit) Student s1(5); //…

全栈开发之路——前端篇(5)组件间通讯和接口等知识补充

全栈开发一条龙——前端篇 第一篇&#xff1a;框架确定、ide设置与项目创建 第二篇&#xff1a;介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇&#xff1a;setup语法&#xff0c;设置响应式数据。 第四篇&#xff1a;数据绑定、计算属性和watch监视 辅助文档&…

WPF 图片显示某一部分区域

效果图&#xff1a; 代码&#xff1a; <Image Width"32"HorizontalAlignment"Right"Height"32"Source"../../Resources/Images/BLUEWOLF.jpg"><Image.Clip><PathGeometry><PathFigure StartPoint"32,32&quo…

重写muduo之Thread、EventLoopThread、EventLoopThreadPool

目录 1、概述 2、Thread 2.1 Thread.h 3、EventLoopThread 3.1 EventLoopThread.h 3.2 EventLoopThread.cc 4、 EventLoopThreadPool 4.1 EventLoopThreadPool.h 4.2 EventLoopThreadPool.cc 1、概述 管理事件循环线程的调度的 打包了一个EventLoop和线程&#xff0c;…

在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)

可参考官方文档&#xff1a;在 Linux 虚拟机中手动安装 VMware Tools 以下列出我在安装过程中遇见的问题&#xff1a; 1、“安装VMware Tools”选项为灰&#xff0c;无法选中 原因是VMware Tools的安装包镜像在Player的安装目录下&#xff0c;需要在虚拟机启动的时候加载这个…

【数字经济】上市公司供应链数字化数据(2000-2022)

数据来源&#xff1a; 时间跨度&#xff1a;2000-2022年 数据范围&#xff1a;各上市企业 数据指标&#xff1a; 样例数据&#xff1a; 参考文献&#xff1a;[1]刘海建,胡化广,张树山,等.供应链数字化的绿色创新效应[J].财经研究,2023,49(03):4-18. 下载链接&#xff1a;https:…

关系型数据库MySQL开发要点之多表查询2024详解

多表查询 准备测试数据 -- 部门管理 create table tb_dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null comment 创建时间,update_time datetime not null comment 修改时…

图神经网络综述和学习路径

应用邻域 应用举例 应用层面&#xff08;节点&#xff0c;连接&#xff0c;子图&#xff0c;全图&#xff09; 概念区别 图神经网络本质上解决了表示学习的问题 可以把神经网络看作一个黑箱&#xff0c;图中的f函数 困难与挑战 现代的深度学习&#xff0c;如何把图输入到神经…

Clion STM32CubeMX 项目

系列文章目录 前言 最后修改 2024 年 4 月 16 日 操作系统&#xff1a;Windows / Linux / macOS 所需工具 STM32CubeMX、GNU ARM 工具链 项目格式&#xff1a; CMake 兼容配置&#xff1a; OpenOCD 运行与调试/嵌入式 GDB 服务器 对于以 STM32 板卡为目标的嵌入式项目&#xf…

QX-mini51单片机学习-----(3)流水灯

目录 1宏定义 2函数的定义 3延时函数 4标准库函数中的循环移位函数 5循环移位函数与左移和右移运算符的区别 6实例 7keil中DeBug的用法 1宏定义 是预处理语句不需要分号 #define uchar unsigned char//此时uchar代替unsigned char typedef是关键字 后面是接分号…

【Linux】线程的内核级理解详谈页表以及虚拟地址到物理地址之间的转化

一、线程的概念 对于进程来说&#xff0c;进程创建时间和空间成本较高&#xff0c;因为进程是承担分配系统资源的基本实体&#xff0c;所以线程的出现就成为了必然。Linux线程与进程非常相似&#xff0c;Linux设计者在设计之初觉得如果再为线程设计数据结构和调度算法就会使整个…

java--io流(一)

1. 前置知识 字符集是什么&#xff1f; 字符集&#xff08;Character Set&#xff09;是一组字符的集合&#xff0c;它定义了可以在计算机系统中使用的所有字符。字符集可以包括字母、数字、标点符号、控制字符、图形符号等。字符集使得计算机能够存储、处理和显示各种语言和…

idea 项目 修改项目文件名 教程

文章目录 目录 文章目录 修改流程 小结 概要流程技术细节小结 概要 原项目名 修改流程 关掉当前项目的idea页面 修改之后的文件名 重新打开idea。选择项目打开项目页面 技术细节 出现下面这个问题&#xff0c;可以参考作者新的一编文章idea开发工具 项目使用Spring框架开发解…

【智能楼宇秘籍】一网关多协议无缝对接BACnet+OPC+MQTT

在繁华的都市中心&#xff0c;一座崭新的大型商业综合体拔地而起&#xff0c;集购物、餐饮、娱乐、办公于一体&#xff0c;是现代城市生活的缩影。然而&#xff0c;这座综合体的幕后英雄——一套高度集成的楼宇自动化系统&#xff0c;正是依靠多功能协议网关&#xff0c;实现了…

《从零开始,搭建一个简单的UVM验证平台》实操

最近的工作中需要用UVM平台去仿真软件同事写的C程序&#xff0c;虽然只要用EDA同事已经搭好的UVM平台稍微改改就行&#xff0c;但对于我这种从未接触过UVM甚至都没用过System Verilog的纯FPGA工程师来说还是很有难度的&#xff0c;因为我对这方面一点概念都没有。 基于此&…

一文盘点 Partisia Blockchain 生态 4 月市场进展

Partisia Blockchain 是一个以高迸发、隐私、高度可互操作性、可拓展为特性的 Layer1 网络。通过将 MPC 技术方案引入到区块链系统中&#xff0c;以零知识证明&#xff08;ZK&#xff09;技术和多方计算&#xff08;MPC&#xff09;为基础&#xff0c;共同保障在不影响网络完整…
最新文章