一、数据绑定

1、定义数据

在页面对应的 .js(或 ts)文件中,把数据定义到 data 对象中即可:

2、Mustache 语法的格式(渲染数据)

把 data 中的数据绑定到页面中渲染,使用 Mustache 语法(双大括号)将变量名包起来即可。如图:

3、Mustache 语法的应用场景

Mustache 语法的主要应用场景:

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

1、动态绑定内容

页面数据如图:

页面的结构如图:

以上演示就是数据的动态绑定,将定义的页面数据绑定到页面结构进行渲染。

2、动态绑定属性

页面数据如图:

页面的结构如图:

最后整体展示如图:

一定要注意语法格式!!!

3、三元运算

页面的数据如下:

页面的结构如下:

最后整体展示:

4、算术运算

页面数据如下:

页面的结构如下:

最后整体展示:

最后总结一下:数据的绑定,首先是在页面的 .js(或 .ts)文件的  page 中的 data 内定义数据,再在页面的 .WXML 文件中渲染数据。 

二、事件绑定

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

1、 小程序中常用的事件:

类型 绑定方式 事件描述
tap bindtap  或 bind:tap 手指触摸后马上离开
input bindinput 或 bind:input 文本框的输入事件
change bindchange 或 bing:change 状态改变时触发

2、事件对象 event 的详细属性:

属性 类型 说明
type String 事件类型
timeStamp Integer 页面打开到触发事件所经过的毫秒数
target Object 触发事件的组件的一些属性值集合
currentTarget Object 当前组件的一些属性值集合
detail Object 额外的信息
touches Array 触摸事件,当前停留在屏幕中的触摸点信息的数组
changedTouches Array 触摸事件,当前变化的触摸点信息的数组

3、target 和 currentTarget 的区别:

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

4、 bandtap 的语法格式

在小程序中,不存在 HTML 中的 onclick 鼠标点击事件,而是通过 tap 事件来响应用户的触摸行为。

1、通过 bindtap,可以为组件绑定 tap 触摸事件,语法如下:

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

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

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

下面看一下整体效果:

6、事件传参

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

因为小程序会把 bindtap 的属性值(即单引号内的所有内容),统一当作事件名称来处理,相当于要调用一个名称为 btnTapHandler(123) 的事件来处理函数,不会把括号里面的123当作参数传递。

1、小程序的正确传参方法:

可以为组件提供 data-* 自定义属性传参,其中 * 代表的是参数的名字,参数的值通过 Musatche 语法(双大括号)传递。实例如下:

最终:

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

2、获取到具体参数的值

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

注意格式:event.target.dataset.参数名 其中 event 可以是缩写 e

7、bindinput 的语法格式

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

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

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

最后看一下整体演示:

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

1、实现步骤:

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

2、定义数据

3、渲染结构

4、美化样式

5、绑定 input 事件处理函数

最后看一下编译效果:

微信小程序开发的数据绑定和事件绑定相关推荐

  1. 微信小程序开发之六 —— 数据绑定与列表渲染

    文章目录 学习前后 数据分离 数据类型 组件属性数据绑定 渲染对象类型数据 列表渲染 wx:for wx:key 渲染一下电影列表 学习前后 上一篇:微信小程序开发之五 -- 体验WeUI 下一篇:微 ...

  2. 入门微信小程序开发(三)数据绑定的几种用法

    一.数据绑定 与书写HTML页面一样,小程序页面也只能通过多写多练提升.在构建完页面后就出现了一个问题,我们该如何获取组件元素让数据与之关联呢? 在网页开发中,我们同样使用JS操作DOM,包括数据渲染 ...

  3. 【微信小程序入门到精通】— 事件绑定的详细解读

    目录 前言 一.事件绑定导论 二.常用事件 三.事件对象属性列表 3.1 target 和 currentTarget 的区别 3.2 bindtap 的用法 总结 前言 对于目前形式,微信小程序是一 ...

  4. 微信小程序开发2——数据绑定、控制属性

    数据绑定 index.wxml <!--index.wxml--> <view class="container"><!-- {{ }} 小胡子语法 ...

  5. uni-app开发微信小程序,关于获取手机号事件绑定的坑

    闲话少说,直接上代码. 微信官方的代码是这样的: <button open-type="getPhoneNumber" bindgetphonenumber="ge ...

  6. 【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap input (十)

  7. 微信小程序开发笔记(四)数据绑定

    参考教材:<微信小程序开发入门与实践> 雷磊 前置知识:JavaScript,CSS 为了更好的学习后续知识,先来新建一个页面.(以下代码来自<微信小程序开发入门与实践>,下载 ...

  8. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  9. 微信小程序开发笔记 进阶篇③——onfire.js事件订阅和发布在微信小程序中的使用

    文章目录 一.前言 二.onfire.js介绍 三.API介绍 四.实例应用 五.onfire源码 六.实例源码 一.前言 微信小程序开发笔记--导读 二.onfire.js介绍 一个简单实用的事件订 ...

最新文章

  1. c++primer书上习题date类的部分源代码(待整理)
  2. Java 8 中的工厂方法模式
  3. qt android 设备权限,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...
  4. python测网络连通性_网络工程师如何在ensp模拟器上玩python自动化配置交换机。...
  5. Java Keytool 命令行工具
  6. Flex显示图片的常用方式
  7. 人工智能中国专利技术分析报告发布,百度三年蝉联榜首
  8. 20 年前,微软怎样改变了我们鼠标的使用方式?| 极客头条
  9. 51单片机c语言音乐代码天空之城,蜂鸣器版天空之城(示例代码)
  10. 2022秋软工实践个人作业一
  11. 硬件设计论坛_零基础学硬件工程师到哪里去培训 上EDA365电子论坛
  12. PMP知识点总结—计算题汇总
  13. 将多个Excel工作簿合并到一个Excel工作簿中
  14. python实现匿名发邮件_Python 实现邮件发送
  15. linux添加多网站,linux添加多个网站-微笑の风
  16. ThinkPHP带表情无限级评论回复
  17. tornado, twister, cyclone,Typhoon,hurricane…到底如何区别?
  18. 微信小程序 编程小结(不定期更新)
  19. 【math】Hiden Markov Model 隐马尔可夫模型了解
  20. https安全证书提示证书风险怎么办

热门文章

  1. [原创]Slatstack 两个数据系统重要组件:Grains和Pillar初步介绍说明
  2. 【练习】Managing Transactions
  3. bgcolor和bgColor?
  4. Linux系统基础-2018-日常管理和维护
  5. 【外贸】给大家推荐几个做外贸好的平台!
  6. 易优CMS月嫂家政服务公司网站模板源码+带后台
  7. 用python做一张带背景的二维码
  8. 划重点,如何提升微信文章点赞?
  9. 微信html5页面开发教程,微信网页开发,如何在H5页面中设置分享的标题,内容以及缩略图...
  10. centos7.8安装mysql5.7步骤记录