微信小程序 - 循环

前言

前端代码编写中,循环的使用是必不可少的,只要有相似内容的列表存在,大概率就会使用到循环,如:商品列表、每月收益、排行榜等。

数组/列表循环

使用wx的特殊语法来实现循环功能。

wx:for = "{{循环的列表(数组/对象)}}"

wx:for-item = "循环项的名称"

wx:for-index = "循环项的索引"

复制代码
.js 文件:
Page:{
    selectedGoods:[
        {name:'商品1',salePrice:100,originPrice:390,desc:'特价促销'},
        {name:'商品2',salePrice:130,originPrice:300,desc:'买一赠一'},
        {name:'商品3',salePrice:80,originPrice:200,desc:'甩货处理'},
    ]
}

.wxml 文件:
<block class="my_draw_canvas" 
    wx:for="{{selectedGoods}}"
    wx:for-item="item"
    wx:for-index="index">
    <view>{{index}}</view>
    <view>{{item.name}}</view>
    <view>{{item.salePrice}}</view>
    <view>{{item.originPrice}}</view>
    <view>{{item.desc}}</view>
</block>
    
结果:
    0
    商品1
    100
    390
    特价促销
    1
    商品2
    130
    300
    买一赠一
    2
    商品3
    80
    200
    甩货处理

注意⚠️:循环语句是固定的,要保证对象的唯一性,即wx:(循环) = "(循环值)",定了循环值,循环的就是循环值的内容。

当出现数组的嵌套循环的时候,要注意以下绑定的名称不要重名

wx:for-item="item"

wx:for-index="index"

对象循环

循环语句同数组/列表循环语句相同。

wx:for="{{数组或者对象}}"

wx:for-item="对象的值"

wx:for-index="对象的属性"

循环对象时可以根据对象的键值对对item、index赋值,如:可以把item和index的名称都修改为

wx:for-item="value"

wx:for-index="key

多层嵌套循环的情况下,在每一个view层级下再使用循环即可。注意:循环嵌套要更改item、index对应的值,另起一个单词。

复制代码
<view wx:if="{{profitSum}}" class="hava-profit">
    <view class="profit-content"
        wx:for="{{list}}"
        wx:for-item="value"
        wx:for-index="key">
      <view class="profit-title">({{key}}月)</view>
      <view class="profit-num">
        <text class="tip">合计</text>
        <text class="sum">{{(总计金额)}}</text>
      </view>
      <image class="icon" src="(网址/分割线)"></image>
      <view class="goods_content"
        wx:for="{{value}}"
        wx:for-item="goodsProfit"
        wx:for-index="goodsName">
        <text class="goods_name">{{goodsName}}</text>
        <text class="goods_progit">{{goodsProfit}}</text>
      </view>
    </view>
  </view>
相关推荐
爱勇宝16 小时前
我想认真做一件小事:让孩子和家长更好地互动
微信小程序·小程序·云开发
唯火锅不可辜负18 小时前
避坑指南:iOS 下 scroll-view 嵌套 fixed 布局的“翻车”现场与修复
微信小程序
didiplus20 小时前
运维人的随身神器:我把25个常用工具塞进了微信小程序
微信小程序
一份执念2 天前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序
一份执念2 天前
ECharts 安装与使用完全指南:从全量引入到小程序分包优化
微信小程序·echarts
skiyee3 天前
🔥UniApp 仅需 5 行代码!实现所有页面中控制应用主题变化
前端·微信小程序
Jinkey4 天前
要用户手机号真的是为了打骚扰电话吗?浅谈微信生态会员账号体系与资产合并
后端·微信·微信小程序
用户4324281061146 天前
微信小程序从0到1接入微信支付的完整攻略
微信小程序
spmcor8 天前
微信小程序 setStorageSync 踩坑实录:别让"顺手一存"变成"隐形炸弹"
微信小程序
用户4324281061148 天前
小程序埋点设计规范:如何设计可扩展的数据采集体系
微信小程序