WXML 模板语法

数据绑定

1. 数据绑定的基本原则

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

2. Mustache 语法的格式

把 data 中的数据绑定到页面中渲染,使用 Mustache 语法(双大括号)将变量包起来即可。语法格式
在这里插入图片描述
主要应用场景如下:
 绑定内容
在这里插入图片描述
 绑定属性
在这里插入图片描述

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

事件绑定

1. 事件

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

2. target 和 currentTarget 的区别

target 是触发该事件的源头组件,而 currentTarget 则是当前事件所绑定的组件。举例如下:
在这里插入图片描述
点击内部的按钮时,点击事件以冒泡的方式向外扩散,也会触发外层 view 的 tap 事件处理函数。
此时,对于外层的 view 来说:
 e.target 指向的是触发事件的源头组件,因此, e.target 是内部的按钮组件
 e.currentTarget 指向的是当前正在触发事件的那个组件,因此, e.currentTarget 是当前的 view组件

3. bindtap 的语法格式

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

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

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

在这里插入图片描述

5.事件传参

小程序中的事件传参比较特殊,不能在绑定事件的同时为事件处理函数传递参数。例如,下面的代码将不能正常工作:
在这里插入图片描述
因为小程序会把 bindtap 的属性值,统一当作事件名称来处理,相当于要调用一个名称为btnHandler(123) 的事件处理函数。

可以为组件提供 data-* 自定义属性传参,其中 * 代表的是参数的名字,示例代码如下:
在这里插入图片描述
 info 会被解析为参数的名字  数值 2 会被解析为参数的值

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

6.bindinput 的语法格式

在小程序中,通过 input 事件来响应文本框的输入事件,语法格式如下:
① 通过 bindinput ,可以为文本框绑定输入事件:
在这里插入图片描述
② 在页面的 .js 文件中定义事件处理函数:
在这里插入图片描述

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

实现步骤:
① 定义数据
在这里插入图片描述
② 渲染结构
在这里插入图片描述
③ 美化样式
在这里插入图片描述
④ 绑定 input 事件处理函数
在这里插入图片描述

条件渲染

1. wx:if

在小程序中,使用 wx:if=“{{condition}}” 来判断是否需要渲染该代码块:
在这里插入图片描述
也可以用 wx:elif 和 wx:else 来添加 else 判断:
在这里插入图片描述

2. 结合 使用 wx:if

如果要一次性控制多个组件的展示与隐藏,可以使用一个 标签将多个组件包装起来,
并在 标签上使用 wx:if 控制属性,示例如下:
在这里插入图片描述

注意: 并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染。

3. hidden

在小程序中,直接使用 hidden=“{{ condition }}” 也能控制元素的显示与隐藏:
在这里插入图片描述

4. wx:if 与 hidden 的对比

① 运行方式不同
 wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏
 hidden 以切换样式的方式( display: none/block; ),控制元素的显示与隐藏
② 使用建议
 频繁切换时,建议使用 hidden
 控制条件复杂时,建议使用 wx:if 搭配 wx:elif 、 wx:else 进行展示与隐藏的切换

列表渲染

1. wx:for

通过 wx:for 可以根据指定的数组,循环渲染重复的组件结构,语法示例如下:
在这里插入图片描述
默认情况下,当前循环项的索引用 index 表示;当前循环项用 item 表示。

2. 手动指定索引和当前项的变量名 *

 使用 wx:for-index 可以指定当前循环项的索引的变量名
 使用 wx:for-item 可以指定当前项的变量名
在这里插入图片描述

3. wx:key 的使用

类似于 Vue 列表渲染中的 :key ,小程序在实现列表渲染时,也建议为渲染出来的列表项指定唯一的
key 值,从而提高渲染的效率
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/461790.html

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

相关文章

快速了解JavaScript

1.1 javaScript 历史 创始人 布兰登 艾奇 生于1961年 在1995设计LiveScript后改名为JavaScript 1.2 javaScript 是什么类型的语言 JavaScript是一种在客户端运行的脚本语言(不需要编译,由js引擎逐行解释执行) 1.3 JavaScript可以做什么 …

ts版本微信小程序在wxml保存文件不刷新页面的解决办法

将project.config.json中的skylineRenderEnable改为false "skylineRenderEnable": false

【理解机器学习算法】之岭回归Ridge - L2 Rgularization

Ridge 回归(Ridge Regression)也称作岭回归或脊回归,是一种专用于共线性数据分析的有偏估计回归方法。在多元线性回归中,如果数据集中的特征(自变量)高度相关,也就是说存在共线性(Multicollinea…

Kotlin 中List,Set,Map的创建与使用

目录 1. List 的使用 1.1 不可变 List 1.2 可变 List 2. Set 的使用 2.1 不可变 Set 2.2 可变 Set 3. Map 的使用 3.1 不可变Map 3.2 可变Map 本篇主要为已经有Java基础的同学展示Kotlin语言中的List,Set,Map的创建和使用,所以Java代…

STM32CubeMX与HAL库开发教程八(串口应用/轮询/中断/DMA/不定长数据收发)

目录 前言 初识串口-轮询模式 串口中断模式收发 串口DMA模式 蓝牙模块与数据包解析 前言 前面我们简单介绍过串口的原理和初步的使用方式,例如怎么配置和简单的收发,同时我们对串口有了一个初步的了解,这里我们来深入的来使用一下串口 …

基于高德地图JS API实现Vue地图选点组件

基于高德地图JS API2.0实现一个搜索选择地点后返回给父组件位置信息的功能,同时可以进行回显 目录 1 创建key和秘钥1.1 登录高德地图开放平台1.2 创建应用1.3 绑定服务创建秘钥 2 使用组件前准备2.1 导入loader2.2 在对应的组件设置秘钥2.3 引入css样式 3 功能实现…

记录dockers中Ubuntu安装python3.11

参考: docker-ubuntu 安装python3.8,pip3_dockerfile ubuntu22 python3.8-CSDN博客

揭示数据在内存中存储的秘密!

** ** 悟已往之不谏,知来者犹可追 ** ** 创作不易,宝子们!如果这篇文章对你们有帮助的话,别忘了给个免费的赞哟~ 整数在内存中的存储 整数的表达方式有三种:原码、反码、补码。 三种表示方法均有符号位和数值位两部分…

Oracle数据库:使用 bash脚本 + 定时任务 自动备份数据

Oracle数据库:使用 bash脚本 定时任务 自动备份数据 1、前言2、为什么需要自动化备份?3、编写备份脚本4、备份脚本授权5、添加定时任务6、重启 crond / 检查 crond 服务状态7、备份文件检查 💖The Begin💖点点关注,收…

matlab 平面桁架有限元受力分析计算

1、内容简介 略 62-可以交流、咨询、答疑 平面桁架有限元受力分析计算 2、内容说明 略 3、仿真分析 略 4、参考论文 略

宿主环境

1. 什么是宿主环境 宿主环境( host environment )指的是程序运行所必须的依赖环境。例如: Android 系统和 iOS 系统是两个不同的宿主环境。安卓版的微信 App 是不能在 iOS 环境下运行的,所以, Android 是安卓软件的宿…

“import ... =“ 只能在 TypeScript 文件中使用

当你遇到这个问题很苦恼。 可以按照以下解决办法 使用ctrlshiftP 修改"javascript.validate.enable": false

php中 0 == ‘’(0等于任意字符串) 判断是否成立 返回true

php中不同类型变量之间比较大小 一、背景二、探究0是为什么?三、探究 0all是为什么?四、程序中如何判断0是否等于指定字符串 一、背景 最近在项目实际开发中,我需要判断前端传来的参数值是否等于一个字符串;然后发现当参数值是0时…

MATLAB学习笔记(二)PDE求解偏微分方程组

一、利用PDE求解偏微分方程组 初值为: 针对上述方程组,利用matlab自带工具箱和函数PDE进行求解。 以下是matlab中对工具箱中pdepe函数的解释。 二、matlab编程 在matlab中编程,利用PDE函数求解以上偏微分方程。 clc; clear; syms y global …

【蓝桥杯单片机】十三届省赛“重难点”解析(附源码)

【蓝桥杯单片机】十三届省赛“重难点”解析 一、题目难点解析二、易出错点提示三、完整代码链接 笔记包括:①题目难点解析、②易出错点提示、③完整代码链接 注:本文提供的所有代码都是使用第十四届竞赛包完成 ⭐----------系列文章链接----------⭐ 【蓝…

Java初阶数据结构二叉树实现+练习完整(工程文件后序会进行上传)

i1.二叉树的概念 1.二叉树的定义 (1)二叉树可以是一个节点的有限集合 (2)可以为空 (3)或者是由一个根节点加上两棵分别称为左子树和右子树的二叉树组成的 (4)二叉树的每一个节点…

力扣细节题:字符串中的最大奇数

奇数只要找到第一位是奇数的即可,不是找单个数字 //即从最低位开始,找到第一位为奇数的位 //然后之前的就是需要的数字char * largestOddNumber(char * num){int i strlen(num) - 1;while(i > 0){if((num[i] - 0) % 2 1)break;i--;}//先找到低位开…

电子科技大学链时代工作室招新题C语言部分---题号E

1. 题目 这道题大概的意思是说,一座城市中被埋了许多雷(用一个只含0和1的字符串表示城市,1代表有雷,0代表无雷)。 你作为一个排雷兵,需要花最少的钱引爆所有的雷来使城市中不再有雷(太逆天了&a…

Java宝典-异常

目录 1. 异常的分类1.1 运行时异常1.2 编译时异常 2. 异常的抛出2.1 throw2.2 throws 3. 异常的捕获3.1 try-catch3.2 finally 4. 异常执行的过程5. 自定义异常 在Java中,异常(Exception)是指程序发生不正常的行为,异常其实就是一个一个的类。 1. 异常的…

c++刷题(自用)(问题合集)---(一直会更)

初始化列表易错点 #include <iostream> using namespace std;struct A {A() { std::cout << "A"; } }; struct B {B() { std::cout << "B"; } };class C { public:C() : a(), b(){std::cout << "C";}private:B b;A a; …