IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【微信小程序】一文带你了解数据绑定、事件绑定以及事件传参、数据同步 -> 正文阅读

[移动开发]【微信小程序】一文带你了解数据绑定、事件绑定以及事件传参、数据同步

🐚作者简介:苏凉(专注于网络爬虫,数据分析,正在学习前端的路上)
🐳博客主页:苏凉.py的博客
🌐系列专栏:小程序开发基础教程
👑名言警句:海阔凭鱼跃,天高任鸟飞。
📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
👉关注?点赞👍收藏📂

数据绑定

基本原则

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

在data中定义数据

在页面对应的.js 文件中,把数据定义到data对象中即可。
在这里插入图片描述

Mustache语法

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

语法:<view>{{定义的数据名称}}</view>

在这里插入图片描述

Mustache语法的应用

绑定内容

绑定内容即为文本的绑定,就如上述例子中将一个字符串绑定到view的文本节点中。

绑定属性

绑定属性即将一个数据绑定在一个标签的属性节点中。
如:在页面js文件的data中添加一个src数据。
在这里插入图片描述
在页面wxml文件中使用Mustache语法将其绑定在image标签的属性节点中。
在这里插入图片描述

运算(三元运算、算术运算等)

在小程序的编译中也可以进行运算操作。

三元运算

如:
在页面js文件中添加data数据。
在这里插入图片描述
在页面.wxml中绑定该数据,并进行判断.

在这里插入图片描述

算数运算

如:
在页面js文件中的data中添加数据。
在这里插入图片描述
在页面wxml中进行数据绑定,并进行计算。
在这里插入图片描述

事件绑定

什么是事件?

事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理。与html类似,相当于用户与小程序的交互。

常用事件

事件用法说明
tapbindtap/bind:tap手指触摸后马上离开,相当于html中的click事件
inputbindinput/bind:input文本框的输入事件
changebindchange/bind:change状态改变时触发

事件对象属性

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

属性类型说明
typeString事件类型
timeStampInteger页面打开到触发事件所经过的毫秒数
targetobject触发事件的组件的一些属性值集合
currentTargetobject当前组件的一些属性值集合
detailobject额外的信息
touchesArray触摸事件,当前停留在屏幕中的触摸点信息的数组
changedTouchesArray触摸事件,当前变化的触摸点信息的数组

target与currentTarget的区别

event.target返回的是触发该事件的源头组件,而currentTarget则返回的是当前事件所绑定的源头组件。
如:
在这里插入图片描述
给view绑定了单击事件,在该事件下有一个按钮组件,当我们单击按钮时,event.target返回的就是这个按钮组件。而event.currentTarget返回的就是view这个绑定事件的源头组件。因此,常用到的是target属性而非currentTarget属性。

bindtap语法格式

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

  1. 通过bindtap给组件绑定tap触摸事件。
    如下图所示:
    在页面wxml文件中绑定触摸事件
    在这里插入图片描述

  2. 在页面js中定义相应的事件处理函数,事件属性通过传入一个形参来接收。通常为event。
    在这里插入图片描述
    当点击按钮时,控制台便会输出。
    在这里插入图片描述

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

使用this.setData()方法可以修改data中的数据。

  1. 在data中定义数据。
    在这里插入图片描述

  2. 为事件响应函数添加this.setData方法,并修改其数值。
    在这里插入图片描述

  3. 在wxml文件中绑定数据
    在这里插入图片描述

实现效果:
在这里插入图片描述

事件传参

小程序中的事件传参比较特殊,不能在绑定事件的同时为事件处理函数传递参数。如:

<button type="primary" bindtap="butnTap(3)">点击按钮+3</button>

这里并不能为butnTap事件函数传递参数,而是将butnTap(3)作为事件函数名。

为事件传递参数时,使用data-参数名="{{参数值}"}来传递参数。如:

<button type="primary" bindtap="butntTap" data-num="{{3}}">点击按钮+3</button>

查看参数

通过event.target.dataset.参数名可查看我们设置的参数。

在这里插入图片描述
通过该参数也可修改data中的数值。
在这里插入图片描述
此时点击按钮就自增加3
在这里插入图片描述

bindinput语法格式

  1. 通过bindinput,可以为文本框绑定输入事件
 <input bindinput="inputBd" ></input>
  1. 在页面js文件中定义事件处理函数。
  2. 通过even.detail.value来获取文本框中的内容。在这里插入图片描述

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

实现步骤:

  • 定义数据
    在页面js文件中定义文本数据
    在这里插入图片描述

  • 渲染结构
    设置value默认值。

<input bindinput="inputBd" value="{{text}}"></input>
  • 美化样式
    将文本框美化一下
input{
    border: 1px solid blue;
    border-radius: 5px;
}
  • 绑定input 事件处理函数
 inputBd(event){
      // console.log(event.detail.value);
      this.setData({
          text:event.detail.value
      })
  }

输入文本,此时data中的text也随之改变。
在这里插入图片描述
到这里本节内容就结束啦,下期带大家了解微信小程序中的条件渲染和列表渲染。欢迎订阅本专栏,持续更新中…

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:00:48  更:2022-07-20 19:02:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 3:43:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码