wx:for

一维数组情况:

在页面上

view  wx:for  ="{{list}}"

{{item.id}}

view

是循环list

item是List的别名

多维数组情况:

view  wx:for  ="{{parent_list}}"

{{item.id}}

  view  wx:for  ="{{item.childlist}}"  wx:for-item="items"

    {{item.id}}

  view

view

items是子List的别名。子Lsit是 item.childlist

总结: wx:for  是循环list   wx:for = "{{list}}"换成wx:for-items="{{list}}"    结果是一样 的     也就是 wx:for等价与wx:for-items是循环数组用的;

使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:默认 index

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
{{idx}}: {{itemName.message}}
</view>

对 wx:key 补充:

如果 列表中 项目位置 会动态改变  或者可能会有新的项目会加入列表中

需要标识这个项目在列表的位置:

则   可以选 用ltem的某个唯一的属性作为Key

或者 用 *this  关键字代表   for循环的item本身,这种表示需要item本身就是 一个唯一的字符串或者数字。

当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。

 举例子:一个应用:

获得了N条信息,但是不确定具体多少条。怎么在界面上显示呢

wxml代码

<view wx:for="{{items}}" wx:for-index="index" wx:for-item="item">
{{index+1}}、{{item.title}}
</view>

  js代码

Page({

data: {
    items: [
        {
            "url":"http://127.0.0.1/1.flv",
            "title":"这是标题一"
        },
        {
            "url":"http://127.0.0.1/2.flv",
            "title":"这是标题二"
        }
    ]
} })

  

微信小程序里 wx:for和wx:for-item区别(补充下wx:key)的更多相关文章

  1. 微信小程序里如何用阿里云上传视频,图片。。

    纯手写,踩了半天多的坑干出来了... 网上也有对于阿里云如何在微信小程序里使用,但是很不全,包括阿里云文档的最佳实践里. 话不多说上代码了. upvideo(){ var aliOssParams = ...

  2. 微信小程序里使用 Redux 状态管理

    微信小程序里使用 Redux 状态管理 前言 前阵子一直在做小程序开发,采用的是官方给的框架 wepy , 如果还不了解的同学可以去他的官网查阅相关资料学习:不得不说的是,这个框架确相比于传统小程序开 ...

  3. 在微信小程序里使用 watch 和 computed

    在开发 vue 的时候,我们可以使用 watch 和 computed 很方便的检测数据的变化,从而做出相应的改变,但是在小程序里,只能在数据改变时手动触发 this.setData(),那么如何给小 ...

  4. 微信小程序里实现跑马灯效果

    在微信小程序 里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS wxml: <!-- 复制的跑马灯效果 --> <view class=&quo ...

  5. 微信小程序从子页面退回父页面时的数据传递 wx.navigateBack()

    我们知道,在微信小程序中,从一个页面转到另一个页面,一般情况下可以通过navigate或redirect时候的url来携带参数,然后在目标页面的onLoad函数参数中获取这些url参数.例如: // ...

  6. 微信小程序里碰到的坑和小知识

    本文作者:dongtao   来自:授权地址 本人低级程序员,以下bug不能确保在其它地方可以以相同的原因复现.同时, 出现很多bug的原因是小程序的基本知识还有编码的基本功不到位造成 路还很长,共勉 ...

  7. 微信小程序里的bug---video 的play()

    微信小程序hidden转换后执行play()用真机测试不会播放.在调试器里可以. 解决方法,把hidden换成wx:if. 我刚开始以为网速问题,其实不是, 具体我也不知道为什,换上wxif解决了.

  8. 在微信小程序里自动获得当前手机所在的经纬度并转换成地址

    效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置: 具体步骤: 1. 使用微信jssdk提供的getLocation API拿到经纬度: 2. 调用高德地图的api使用经纬度去换取地址的 ...

  9. 微信小程序里使用阿里巴巴矢量图标

    登录 阿里巴巴矢量图标 (https://www.iconfont.cn) 选中图标,加入购物车图标 下载源代码 解析出来如下文件结构 有两种使用方式: 1)不转换成base64的文件 找到 icon ...

  10. 记录微信小程序里自带 时间格式 工具

    微信小程序里面自己给了一个时间工具,是用来记录log日志,感觉可以记录下来,所以拿来自己用,以此记录: 直接传入 日期对象 进入 formatTime //得到下面格式的时间格式2017/07/22 ...

随机推荐

  1. 事件监听、焦点--java进阶day03

    1.事件 按钮是组件,点击后就会重新游戏 对于这种点击了组件之后,有逻辑触发的操作,就是事件 2.事件中的专有名词 绑定监听也就是绑定监视,是真正组织代码逻辑的地方 要有绑定监听就需要监听器,今天学习 ...

  2. 【Linux】5.4 Shell数组

    Shell数组 数组中可以存放多个值.Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似). 1. 数组赋值 与大部分编程语言类似,数组元素的下标由0 ...

  3. AQS的release(int)方法底层源码

    一.定义 release(int) 是 AQS(AbstractQueuedSynchronizer)中的一个核心方法,用于在独占模式下释放同步状态.如果释放成功,则会唤醒等待队列中的后继节点,使其有 ...

  4. MySQL 在设计表(建表)时需要注意什么?

    MySQL 在设计表(建表)时需要注意的要点 设计数据库表是 MySQL 开发中非常重要的一环.合理的表结构设计可以提升性能.减少存储开销,并提高维护性.以下是一些关键的注意事项: 1. 明确需求和数 ...

  5. MySQL 中的 Log Buffer 是什么?它有什么作用?

    MySQL 中的 Log Buffer 是什么?它有什么作用? Log Buffer 是 MySQL InnoDB 存储引擎的一部分,用于存储写入日志数据的内存区域.它主要用于记录事务的变更日志,这些 ...

  6. configfs-用户空间控制的内核对象配置

    1. 什么是configfs? configfs 是一个基于内存的文件系统,它提供了与sysfs相反的功能.sysfs 是一个基于文件系统的内核对象视图,而configfs 是一个基于文件系统的内核对 ...

  7. Windows 实用工具(新机、全新系统、重装系统必备)

    Windows 实用工具 https://www.lanzoub.com/b0ziu7owh 密码:akoc HEU_KMS_Activator Windows 激活工具. 下载链接: Github: ...

  8. K8s新手系列之Pod容器中的command和args指令

    概述 command和args是containers下的两个指令,类似Dockerfile中的ENTRYPONIT和CMD指令. 官方文档地址:https://kubernetes.io/zh-cn/ ...

  9. css_初阶

    s10.html <!DOCTYPE html> <html lang="en"> <head>     <meta charset=&q ...

  10. 关于The JSON value could not be converted to System.DateTime的解决方案

    如下json格式提交到后台后报: The JSON value could not be converted to System.DateTime. Path: $.beginTime | LineN ...