小程序循环不同的组建_小程序之八,对象数组、循环及条件渲染
富力丹麦小镇P20-602的春天
一、对象数组
很多情况下,我们需要多次显示同一个条目(item),或者说是某个类的不同实例对象。类似如下:
那么,你可以写很复杂的WXML,“手工”地为每个对象书写一块WXML,显示一个对象,向下面这个代码:
<view class="allbody-flex">
<view class="title"> TOMMY游记 view>
<view class="bodyone-flex">
<view class="unit">
<image class="img" mode="widthFix" src="../../image/natrue1.png">image>
<view class="slogan">大好河山view>
<view class="price">门票view>
view>
<view class="unit">
<image class="img" mode="widthFix" src="../../image/natrue2.png">image>
<view class="slogan">原始森林view>
<view class="price">门票view>
view>
<view class="unit">
<image class="img" mode="widthFix" src="../../image/natrue3.png"> image>
<view class="slogan">无限原野view>
<view class="price">门票view>
view>
<view class="unit">
<image class="img" mode="widthFix" src="../../image/natrue4.png"> image>
<view class="slogan">蓝天绿草view>
<view class="price">门票view>
view>
......
这显然不是编程手段,你可以把每个对象放入一个数组,然后利用组件的wx:for属性循环渲染这个数组的每一个元素,程序片段如下
在.JS文件中定义对象数组数据
page({
data:{
tempArray:[
{picPath :"../../image/natrue1.png",
text:"大好河山",
price:0},
{picPath :""../../image/natrue1.png"",
text:"原始森林",
price:20},
{picPath :"../../image/natrue3.png",
text:"无限原野",
price:30},
{picPath :"../../image/natrue4.png",
text:"蓝天绿草",
price:40}
]
},
})
上述tempArray 是在.js中定义得data对象的一个属性,这个属性是数组,这个数组的每个元素,又是一个对象,所以把tempArray称为对象数组。
那么,在.WXML中,可以利用wx:for属性实现循环渲染
<view class="unit">
<image class="img" mode="widthFix" src="{{item.picPath}}"image>
<view class="slogan">{{item.text}}view>
<view class="price">门票:{{item.price}}view>
view>
二、循环渲染注意事项
1:wx:for是小写的,是组件的一个属性;
2:wx:for后面跟着的是对象数组的数组名称,后续则用关键字item代替这个数组名称本身,关键字index代表数组下标;
3:上述代码,将循环渲染对象数组中的内容;
4:wx:for="{{arrayName}}",中的arrayName的名称是data中定义的,可以是任意数组,不一定是对象数组;
5:上述wx:for的意思就是自动完成数组遍历;
使用构造一个代码块,类似c或.js中的{语句块},表示在同一个逻辑控制下的一组语句,是个好思路!
三、更改wx:for的默认变量名
那么,如果不用默认的item和index做变量可以吗?可以!
可以将上述代码修改为:
<view class="unit">
<image class="img" mode="widthFix" src="{{body.picPath}}"image>
<view class="slogan">{{body.text}}view>
<view class="price">门票:{{body.price}}view>
view>
四、条件渲染
那么,用组件的wx:if="{{表达式}}"属性,可以实现条件渲染,也就是满足一定条件时显示某个组件(块)
组件块
这个语法中,理解的关键还是 组件的属性值用双引号括起来,页面表达式用{{}}胡子语法!
那么同理,还可以加wx:else,wx:elif="{{表达式}}",如:
组件块
组件块
上述注意,是elif,不是elseif!
自己上机测试吧,
小程序循环不同的组建_小程序之八,对象数组、循环及条件渲染相关推荐
- servlrt程序的入口点是_小程序深度报告:全网数量约550万,日活跃超4.4亿
图片来源@视觉中国 当初2017年微信推出小程序这个"新物种"时,外界有各种质疑的声音,可是发展至今,小程序数量呈现逐渐攀升趋势,截止至2020年6月底已达到以往高峰,全网小程序数 ...
- 小程序input获得焦点触发_小程序如何获得种子用户,微信9亿月活用户来教你!...
小程序虽已上线2年了,但在微信生态中还非常年轻,正处于学习奔跑的阶段.而且,许多商家对于如何正确获得第一批种子用户,并不十分清楚. 今天,企乐网就以如何定位种子用户?种子用户在哪里获得?用什么方法沉淀 ...
- 大型程序是如何开发的_小程序开发好之后如何引流
现在做小程序的企业越来越多,不过也遇到了一个现实的问题,那就是找人开发了小程序之后,小程序里面没有流量,这里小编要和大家聊一下,小程序引流对于小程序营销来说是很重要的,就相当于开了个公司,没有业务员, ...
- 小程序 const moment = require('moment')_小程序依赖分析实践
用过 webpack 的同学肯定知道 webpack-bundle-analyzer ,可以用来分析当前项目 js 文件的依赖关系. webpack-bundle-analyzer 因为最近一直在做小 ...
- 小程序 和 web 功能对比_小程序官方推出的Kbone,是如何解决Web 端和小程序同构痛点的?...
小程序作为一种新兴地连接用户与服务的方式,相信大家都或多或少接触过.对于开发者来说,它是一种类似 Web 但又不同于 Web 的开发模式,它提供了一套自定义的 API 和文件组织方式,这无疑带给开发者 ...
- 小程序 和 web 功能对比_小程序的基本知识及功能
"小沃"为客户开发项目中经常遇到客户要求开发小程序,"小沃"也是一个刨根问底的工作狂,从而收集了对"小程序生态变化"市场调研报告,一方面让客 ...
- nginx做小程序外链跳转_小程序跳转外部链接怎么设置,实现小程序跳转外链的两种方法...
小程序跳转到外部链接有很多种类型,包括小程序跳转到APP,小程序跳转到小程序,小程序跳转到公众号,小程序跳转到网页等.由于小程序跳转的对象比较多,各自的规则又不一样,因此小程序跳转外部链接是用户咨询较 ...
- nginx做小程序外链跳转_小程序如何做外部链接跳转
随着互联网的发展,小程序定制开发的需求也是越来越多了.客户在寻问小程序开发的时候,小程序跳转外部链接是他们比较关心的问题之一.下面我们将小程序跳转外部链接的规则汇总整理,希望用户对小程序的跳转规则有更 ...
- 小觅双目相机如何使用_小觅双目摄像头标准版(S版)常见问题
SDK支持系统 已测试可用的平台有:Windows:目前只支持Windows 10 Linux:Ubuntu14.04, Ubuntu16.04, Ubuntu18.04 支持TX1/TX2/RK3 ...
最新文章
- Evernote相关技术介绍——mysql+lucene+tomcat
- java.io.IOException cannot be resolved
- 四叶草社交平台——十天冲刺(4)
- 玩转Nacos参数配置!多图勿点
- 2016第三届科学数据大会——科学数据与创新发展
- [POJ1840 Eqs]
- 数据结构C++ 栈——栈的应用
- WPS显示无法创建对象,请确认对象已在系统注册表中注册
- java如何面试别人_Java面试如何考察候选人
- 技术指南 | 理解零知识证明算法之Zk-stark
- 笛卡尔空间力反馈的关节速度控制之机器人运动学库KDL安装及使用
- 一个B端硬件产品经理的成长史
- 丈母娘刚需支撑中国经济
- mysql获取汉字拼音首字母_MySQL数据库获取汉字拼音的首字母函数
- leetcode 字符串之单词
- 一年手机信息安全囧事大调查,你有没有中招
- 稳定可靠github加速神器 FastGithub
- 环境部署(物理手工部署):
- python出租车数据_Python处理JSON格式数据(出租车轨迹数据)
- 最近10年内出现的计算机术语,记常见的计算机术语(不停更新)