微信小程序 if语法、for循环 条件渲染、列表渲染等讲解

news/2024/7/20 2:22:37 标签: 微信小程序, 小程序

这篇文章我想给大家学习的就是如何使用 if 去判断 组件的是显示和隐藏如何使用for循环来渲染列表等重复的内容。

1.if语法的使用

小程序中,我们可以使用wx:if="{{条件}}"来判断是否需要渲染该代码块

也可以用 wx:elif wx:else 来添加 else 判断 :

 以上是2种方法介绍,我们先来测试一下第一种

 通过图片我们发现隐藏的代码被隐藏了,没有渲染出来,这时候我们就可以知道 wx:if 可以控制组件隐藏显示

接下增加条件进行判断

我们现在pages里的data中添加一个sex值为2

我们发现当sex等于2时,代码会之渲染对的组件,所以我们可以通过if来多重判断需要渲染的组件

在这里附加一个内容就是

wx:if 与 hidden 对比

①运行方式不同

        wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏

        hidden 以切换样式的方式(disolay:none/block),控制元素的显示与隐藏

②使用建议

        频繁切换时,建议使用hidden

        控制条件复杂时,建议使用wx:if搭配wx:elif、wx:else进行展示与隐藏的切换

2.for语法使用

我们都知道for语法在编程语言中是用来循环的,在小程序中也一样,只不过他的用法和if类似,需要在前面加入wx:来使用

通过 wx:for 可以根据指定的数组,循环渲染重复的组件结构,语法如下:

<view wx:for="{{array}}">
  索引是:{{index}} 当前项是:{{item}}
</view>

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

我们先尝试给data一个数组

page({
  data: {
    list:['华为','苹果','三星']
  }
})
<view wx:for="{{list}}">
  索引是:{{index}} 当前项是:{{item}}
</view>

这样就能渲染出图中一样的效果,这样就省了我们很多功夫去做同样的事情。

到这里有人就会问,循环变量可以改把?当然可以,我们有这么一种方法

手动指定索引和当前项的变量名(重点*)

        使用 wx:for-index 可以指定当前循环项的索引的变量名

        使用 wx:for-item 可以指定当前项的变量名

示例代码如下:

<view wx:for="{{list}}" wx:for-index="idx" wx:for-item="value">
  索引是:{{idx}} 当前项是:{{value}}
</view>

       从图中我们就可以看出通过wx:for-index和wx:for-item 就修改了他们的变量名称,但是细心的同学会发现我们的终端会提示一个这样的内容

 这个就是,在在我们for循环中其实有一个 wx:key的属性

翻译那句话就是  现在,您可以为“wx:for”提供属性“wx:key”以提高性能。

所以我们可以在后面加入一个wx:key

<view wx:for="{{list}}" wx:for-index="idx" wx:for-item="value" wx:key="idx">
  索引是:{{idx}} 当前项是:{{value}}
</view>

即可消除这个提示。


http://www.niftyadmin.cn/n/64503.html

相关文章

电子技术——电流镜负载的差分放大器

电子技术——电流镜负载的差分放大器 目前我们学习的差分放大器都是使用的是差分输出的方式&#xff0c;即在两个漏极之间获取电压。差分输出主要有以下优势&#xff1a; 降低了共模信号的增益&#xff0c;提高了共模抑制比。降低了输入偏移电压。提升了差分输入的增益。 由于…

Leetcode—移除元素、删除有序数组中的重复项、合并两个有序数组

移除元素 此题简单&#xff0c;用双指针方法即可&#xff0c; 如果右指针指向的元素不等于val&#xff0c;它一定是输出数组的一个元素&#xff0c;我们就将右指针指向的元素复制到左指针位置&#xff0c;然后将左右指针同时右移&#xff1b; 如果右指针指向的元素等于 val&…

彻底理解 cookie、session、token (二)

Cookie cookie 是一个非常具体的东西&#xff0c;指的就是浏览器里面能永久存储的一种数据&#xff0c;仅仅是浏览器实现的一种数据存储功能。 cookie由服务器生成&#xff0c;发送给浏览器&#xff0c;浏览器把cookie以kv形式保存到某个目录下的文本文件内&#xff0c;下一次…

nginx负载均衡下的webshell上传

目录 场景描述 环境的安装 1、先将docker环境搭建起来 2、测试tomcat是否可以访问 3、查看docker中nginx反向代理的负载均衡 4、查看docker中lbsnode1中的ant.jsp文件 5、通过中国蚁剑来连接ant.jsp文件 复现过程 存在的问题 问题一&#xff1a;由于nginx采用的反向代…

SpringBoot集成Swagger3(powernode document)(内含源代码)

SpringBoot集成Swagger3&#xff08;powernode document&#xff09;&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87449720 目录SpringBoot集成Swagger3&#xff08;powernode document&#xff0…

CentOS8 yum源配置

文章目录一、配置阿里云的 yum 源1.备份当前 yum 源配置文件2.下载源配置文件3.修改 yum 源配置文件4.更新 yum 源配置文件5.测试结尾一、配置阿里云的 yum 源 1.备份当前 yum 源配置文件 进入 /etc/yum.repos.d 目录将该目录下的源配置文件备份&#xff1a; cd /etc/yum.re…

C语言学习笔记-排序算法

选择排序 选择排序&#xff08;Selection sort&#xff09;是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素中继续寻找最小&…

苹果手机永久删除的照片怎么恢复?

相信大家都会遇到这样的问题&#xff0c;拍照时多拍几张&#xff0c;在选出认为最好的那张照片&#xff0c;分享出去。但随着手机里的照片越来越多&#xff0c;清理一些不需要的照片是必不可少的&#xff0c;不过由于图片太多&#xff0c;这很容易就删除了手机里的重要照片。如…