• 【微信小程序】一文带你了解数据绑定、事件绑定以及事件传参、数据同步


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

    文章目录

    数据绑定

    基本原则

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

    在data中定义数据

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

    Mustache语法

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

    语法:{{定义的数据名称}}

    在这里插入图片描述

    Mustache语法的应用

    绑定内容

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

    绑定属性

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

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

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

    三元运算

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

    在这里插入图片描述

    算数运算

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

    事件绑定

    什么是事件?

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

    常用事件

    事件

    用法

    说明

    tap

    bindtap/bind:tap

    手指触摸后马上离开,相当于html中的click事件

    input

    bindinput/bind:input

    文本框的输入事件

    change

    bindchange/bind:change

    状态改变时触发

    事件对象属性

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

    属性

    类型

    说明

    type

    String

    事件类型

    timeStamp

    Integer

    页面打开到触发事件所经过的毫秒数

    target

    object

    触发事件的组件的一些属性值集合

    currentTarget

    object

    当前组件的一些属性值集合

    detail

    object

    额外的信息

    touches

    Array

    触摸事件,当前停留在屏幕中的触摸点信息的数组

    changedTouches

    Array

    触摸事件,当前变化的触摸点信息的数组

    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文件中绑定数据
      在这里插入图片描述

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

    事件传参

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

    
    
    • 1

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

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

    
    
    • 1

    查看参数

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

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

    bindinput语法格式

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

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

    3. 通过even.detail.value来获取文本框中的内容。在这里插入图片描述

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

    实现步骤:

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

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

    • 美化样式
      将文本框美化一下

      input{
      border: 1px solid blue;
      border-radius: 5px;
      }

    • 绑定input 事件处理函数

      inputBd(event){
      // console.log(event.detail.value);
      this.setData({
      text:event.detail.value
      })
      }

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

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    linux笔记(3):东山哪吒STU开发板初体验
    苹果电脑Mac系统运行速度又卡又慢是怎么回事?
    ELK 基础原理 文档 (二)
    数据结构:线性表(栈的实现)
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wcsncat
    正则化函数表达是什么意思,一般是怎么用的
    计算机毕业设计Java大学生创业众筹系统(源码+系统+mysql数据库+lw文档)
    推荐两款超高质量的壁纸软件
    4种智慧路灯典型应用场景介绍
    CSS利用定位+margin实现元素居中
  • 原文地址:https://blog.csdn.net/m0_67393593/article/details/126080774