微信小程序------WXML模板语法之条件渲染和列表渲染

目录

前言

一、条件渲染

1.wx:if

2. 结合 使用 wx:if

3. hidden

4. wx:if 与 hidden 的对比

二、列表渲染

1. wx:for

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

3. wx:key 的使用


前言

        上一期我们讲解wxml模版语法中的数据绑定和事件绑定(上一期链接:微信小程序-----WXML模板语法之数据绑定与事件绑定-CSDN博客),那么本期我们继续wxml语法的学习,本期的主要内容是条件渲染和列表渲染,下面就开始本期的学习吧!

一、条件渲染

1.wx:if

在小程序中,使用 wx:if="{{ condition }}" 来判断是否需要渲染该代码块:
<view wx:if="{{condition}}">show me</view>
也可以用 wx:elif wx:else 来添加 else 判断:
<!-- 条件渲染 -->
<view wx:if="{{type==1}}">男</view>
<view wx:elif="{{type==2}}">女</view>
<view wx:else>其他</view>

 然后我们在js文件中去定义变量参数type:

Page({/*** 页面的初始数据*/data: {type:1},
})

2. 结合 <block> 使用 wx:if

如果要 一次性控制多个组件的展示与隐藏 ,可以使用一个 <block></block> 标签将多个组件包装起来,并在 <block> 标签上使用 wx:if 控制属性,示例如下:
<block wx:if="{{condition}}"><view>001</view><view>002</view><view>003</view>
</block>

这里我们点开控制台,可以看到这三个view组件外面没有block组件包装,所以可以看出block组件是不作显示的。

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

3. hidden

在小程序中,直接使用 hidden="{{ condition }}" 也能控制元素的显示与隐藏:

<view hidden="{{condition}}">condition为true的时候隐藏,false的时候显示</view>

4. wx:if 与 hidden 的对比

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

二、列表渲染

1. wx:for

通过 wx:for 可以根据指定的数组,循环渲染重复的组件结构,语法示例如下:
<view wx:for="{{arr}}">索引:{{index}}, 值:{{item}}
</view>

默认情况下,当前循环项的索引index 表示;当前循环项item 表示。 

js文件下arr数组定义: 

Page({/*** 页面的初始数据*/data: {arr:['ikun','坤坤','只因']},
})
显示效果:

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

  • 使用 wx:for-index 可以指定当前循环项的索引的变量名
  • 使用 wx:for-item 可以指定当前项的变量名
示例代码如下:
<view wx:for="{{arr}}" wx:for-index="idx" wx:for-item="id">索引:{{ide}}, 值:{{id}}
</view>

这里我把index改成了ide,item改成了id,那么下面用的话就只能用ide代替index、id代替item

3. wx:key 的使用

类似于 Vue 列表渲染中的 :key ,小程序在实现列表渲染时,也建议为渲染出来的列表项指定唯一的 key 值, 从而 提高渲染的效率 ,示例代码如下:
<view wx:for="{{list}}" wx:key="num">{{item.id}}
</view>
Page({/*** 页面的初始数据*/data: {list:[{num:1,id:'kun'},{num:2,id:'js'},{num:3,id:'cxk'}]},
})

显示效果: 

 

 这里我们可以看出根据num的次序就显示相对应id的内容。

 以上就是本期的全部内容了,我们下次见!

分享一张壁纸:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF修改技巧之:如何简单方便的编辑PDF文件?

在当今精通技术的世界中&#xff0c;PDF 的使用已变得普遍&#xff0c;尤其是在商业和教育方面。如果您在审阅 PDF 文件时遇到语法或其他错误怎么办&#xff1f; 尽管 PDF 文件不像 Word 或在线文档那样容易编辑&#xff0c;但借助高级工具&#xff0c;您一定可以进行编辑。 …

MySQL的安装

一&#xff1a;MySQL的安装 步骤一&#xff1a; 下载mysql&#xff0c;地址&#xff1a;MySQL :: Download MySQL Installer 在MySQL的官网对其进行下载&#xff1a; 也可以下滑&#xff0c;在下面点击此社区服务器安装进行下载&#xff1a; 步骤二&#xff1a; 进入到下载…

Redis之bigkey

目录 1、什么是bigkey&#xff1f; 2、bigkey大的小 3、bigkey有哪些危害&#xff1f; 4、bigkey如何产生&#xff1f; 5、bigkey如何发现&#xff1f; 6、bigkey如何删除&#xff1f; 7、BigKey调优&#xff0c;惰性释放lazyfree 8、生产上限制keys * /flushdb/flushal…

使用WAF防御网络上的隐蔽威胁之CSRF攻击

在网络安全领域&#xff0c;除了常见的XSS&#xff08;跨站脚本&#xff09;攻击外&#xff0c;CSRF&#xff08;跨站请求伪造&#xff09;攻击也是一种常见且危险的威胁。这种攻击利用用户已经验证的身份在没有用户知情的情况下&#xff0c;执行非授权的操作。了解CSRF攻击的机…

2.3数据链路层01

2.3数据链路层 2.3.1数据链路层概述 1、数据链路层在网络体系结构中所处的地位 如下图所示&#xff1a;主机H1给主机H2发送数据&#xff0c;中间要经过三个路由器、电话网、局域网、广域网等多种网络。 从五层协议原理体系结构的角度来看&#xff0c;主机应该具有体系结构中…

数据结构初阶之插入排序与希尔排序详解

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力,共赴大厂。 目录 一.前言 二.插入排序 …

深入浅出Pytorch宝典1.0

文章目录 前言1. 张量操作2. 自动微分3. 数据加载和处理4. 模型构建和训练5. 预训练模型和迁移学习6. 调试和性能7. 高级特性总结 torch中主要的数据对象主要特点和功能张量的创建 数据处理和转换1.torch.tensor() 创建一个新的张量&#xff08;Tensor&#xff09;2.torch.zero…

YOLOv8训练自己的数据集

文章目录 1. 创建数据集文件结构数据集标注脚本分割数据集转换数据格式 2. 配置文件2.1 数据集配置2.2 选择需要的模型 3. 模型训练4. 测试 1. 创建数据集 环境&#xff1a; Ultralytics YOLOv8.0.230 &#x1f680; Python-3.8.18 torch-2.3.0.dev20231226cu118 CUDA:0 (NVIDI…

【DDR】基于Verilog的DDR控制器的简单实现(三)——读操作

上一节 【DDR】基于Verilog的DDR控制器的简单实现&#xff08;二&#xff09;——写操作 本文继续以美光(Micron&#xff09;公司生产的DDR3芯片MT41J512M8RH-093&#xff08;芯片手册&#xff09;为例&#xff0c;说明DDR芯片的读操作过程。下图为读操作指令格式&#xff08;…

市场复盘总结 20240115

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 昨日主题投资 连板进级率 0% 失效 二进三&#xff1a; 进级率 中位数50% 最常用的二种方法&#xff1a; 方…

记录centos7.9 离线安装fastllm 编译遇到的问题

centos7.9 安装fastllm 编译步骤 Step1安装cmake: 参考: https://bitsanddragons.wordpress.com/2022/09/19/error-cmake-3-1-or-higher-is-required-you-are-running-version-on-centos-7-x/ ​ 问题1&#xff1a;/lib64/libstdc.so.6: version GLIBCXX_3.4.20‘ not found …

解决Qt的release构建下无法进入断点调试的问题

在工作的时候遇到了第三方库只提供release版本的库的情况&#xff0c;我需要在这基础上封装一层自家库&#xff0c;在调试的时候遇到如下问题&#xff0c;但是在Qt环境下&#xff0c;release的库只能在进行release构建和调试。 卡在了一直进不了断点的情况。提示内容如下&#…

数据库知识汇总之MySQL

目录 MySQL数据库特点MySQL下载MySQL配置文件初始化MySQL配置安装MySQL服务 启动MySQL服务登录数据库修改数据库登录密码MySQL错误代码1130 MySQL数据库特点 MySQL是一个开源关系型数据库管理系统(RDBMS)&#xff0c;由Oracle公司维护和开发。它使用SQL语言进行数据库管理和操…

【LeetCode题目详解】59. 螺旋矩阵 II 54. 螺旋矩阵 LCR 146. 螺旋遍历二维数组(c++)

这篇文章的题目稍微难一点 题目建议&#xff1a; 本题关键还是在转圈的逻辑&#xff0c;在二分搜索中提到的区间定义&#xff0c;在这里又用上了。 一、59. 螺旋矩阵 II 题目&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按…

DataX的安装使用

DataX概述&#xff1a; DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台&#xff0c;实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。DataX采用了框架 插件 的模式&#xff0c;目前已开源&#xff0c;代…

如何用GPT制作PPT和写代码?

详情点击链接&#xff1a;如何用GPT制作PPT和写模型代码&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定…

【Docker】快速入门之Docker的安装及使用

一、引言 1、什么是Docker Docker是一个开源的应用容器引擎&#xff0c;它让开发者可以将他们的应用及其依赖打包到一个可移植的镜像中&#xff0c;然后发布到任何流行的Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之…

软件测试|使用pillow给图片添加水印

简介 水印是一种在图片上添加文字或图像的技术&#xff0c;用于标识图片的来源、版权信息或其他附加信息。Pillow 是一个强大的 Python 图像处理库&#xff0c;它提供了许多功能&#xff0c;包括给图片添加水印。本文将详细介绍如何使用 Pillow 给图片添加水印。 创建水印 在…

SpringBoot中整合ElasticSearch快速入门以及踩坑记录

场景 若依前后端分离版手把手教你本地搭建环境并运行项目&#xff1a; 若依前后端分离版手把手教你本地搭建环境并运行项目_本地运行若依前后端分离-CSDN博客 参考上面搭建项目。 ElaticSearch Elasticsearch 是java开发的&#xff0c;基于 Lucene 的搜索引擎。它提供了一…

Android perfetto memory开源工具分析

目录 原理 官网链接 下载heap_profile producer_support.cc 本地编译 push heapprofd 工具使用 pb文件获取 打开*.pb文件 trace文件 提高系统CPU性能 拆解特定函数内存占用 环境配置 工具使用 修改heap_profile 脚本 原理 Android perfetto memory分析工具和ma…