【微信小程序】一文学懂小程序的数据绑定和事件绑定

简介: 【微信小程序】一文学懂小程序的数据绑定和事件绑定

1.数据绑定


数据绑定的基本原则:

  1. 在 data 中定义数据
  2. 在 WXML 中使用数据


在页面对应的 .js 文件中,把数据定义到 data 对象中,然后把data中的数据绑定到页面中渲染,使用 Mustache 语法(双大括号)将变量包起来即可。

<view>{{数据名称}}<view>


使用案例:

首先在data中定义数据,然后在wxml中通过Mustache语法把数据渲染到页面上。

data: {
    info:'helloworld',
  }
<view>{{info}}</view>

1.1.png


Mustache 语法的应用:

  • 动态绑定内容
  • 动态 绑定属性
  • 运算(三元运算、算术运算等)


1.1动态绑定内容


在 data 中定义数据:

1.2.png


在wxml中使用数据:

.1.3.png

1.2动态绑定事件


页面数据如下:

1.4.png


页面结构如下:

1.5.png

1.3三元运算


页面数据:

1.6.png


页面结构:

1.7.png

1.4算术运算


页面数据如下:

1.8.png


页面结构如下:

1.9.png

2.事件绑定


2.1什么是事件


事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理。

1.10.png

2.2小程序中常用的事件


类型

绑定方式

事件描述

tap

bindtap 或 bind:tap

手指触摸后马上离开,类似于 HTML 中的 click 事件

input

bindinput 或 bind:input

文本框的输入事件

change

bindchange 或 bind:change

状态改变时触发


2.3事件对象的属性列表


当事件回调触发的时候,会收到一个事件对象 event,它的详细属性如下表所示:

1.11.png

2.4 target 和 currentTarget 的区别


target 是触发该事件的源头组件,而 currentTarget 则是当前事件所绑定的组件。举例如下:

1.12.png


点击内部的按钮时,点击事件以冒泡的方式向外扩散,也会触发外层 view 的 tap 事件处理函数。此时,对于外层的 view 来说:

  • e.target 指向的是触发事件的源头组件,因此,e.target 是内部的按钮组件
  • e.currentTarget 指向的是当前正在触发事件的那个组件,因此,e.currentTarget 是当前的 view 组件


2.5 bindtap 的语法格式


在小程序中,不存在 HTML 中的 onclick 鼠标点击事件,而是通过 tap 事件来响应用户的触摸行为。通过 bindtap,可以为组件绑定 tap 触摸事件,语法如下:

1.13.png


在页面的 .js 文件中定义对应的事件处理函数,事件参数通过形参 event(一般简写成 e) 来接收:

1.14.png

2.6 在事件处理函数中为 data 中的数据赋值


通过调用 this.setData(dataObject) 方法,可以给页面 data 中的数据重新赋值,示例如下:

1.15.png

2.7 事件传参


小程序中的事件传参比较特殊,不能在绑定事件的同时为事件处理函数传递参数。例如,下面的代码将不能正常工作:

1.16.png


因为小程序会把 bindtap 的属性值,统一当作事件名称来处理,相当于要调用一个名称为 btnHandler(123) 的事件处理函数。

1.17.png


可以为组件提供 data-* 自定义属性传参,其中 * 代表的是参数的名字,示例代码如下:

最终:

  • info 会被解析为参数的名字
  • 数值 2 会被解析为参数的值


在事件处理函数中,通过 event.target.dataset.参数名 即可获取到具体参数的值,示例代码如下:

210.18.png

2.8 bindinput 的语法格式


在小程序中,通过 input 事件来响应文本框的输入事件,语法格式如下:

通过 bindinput,可以为文本框绑定输入事件:

1.19.png.


在页面的 .js 文件中定义事件处理函数:

1.20.png

2.9 实现文本框和 data 之间的数据同步


实现步骤:

  1. 定义数据
  2. 渲染结构
  3. 美化样式
  4. 绑定 input 事件处理函数


定义数据:

2.1.png

渲染结构

2.2.png


美化样式:

2.3.png


绑定 input 事件处理函数

2.4.png

目录
相关文章
|
8天前
|
小程序 开发工具 Android开发
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
|
8天前
|
小程序 JavaScript 开发工具
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
|
8天前
|
移动开发 小程序 安全
使用阿里云短信+微信短链接跳转微信小程序
此内容是关于使用阿里云短信带传递参数的微信短链接跳转到微信小程序。首先,需要准备微信开发者工具和一个已认证的小程序。接着,开通云开发并配置云开发权限。然后,配置H5静态网页,包括设置云开发权限和处理不同设备的跳转方式。最后,上传云函数并修改其权限,获取微信短信链接,配置短链接参数,并开通阿里云短信服务以进行测试验证。整个过程涉及到了微信开发者工具、云开发、H5页面配置、云函数的创建和部署以及阿里云短信服务的开通和使用等步骤。
31 0
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
28 3
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
50 3
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
29 1
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的助农扶贫微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的助农扶贫微信小程序的详细设计和实现
32 2
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信阅读网站小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信阅读网站小程序的详细设计和实现
40 2
|
18天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的原创音乐小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的原创音乐小程序的详细设计和实现
13 1
|
25天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。

热门文章

最新文章