wx:for 用于单纯的数组循环。一般数组的元素是数字或字符串 。
wx:for-item=‘变量名(随便起的)’? ?它是指定循环数据当前的变量名,可以通过? {{变量名.属性}} 展示数组的元素。
wx:for-index=‘变量名(随便起)’,相当于给子元素起别名,如果缺省,默认值是 item,如果设置 wx:for-item=‘aName’,则可以在循环中通过 {{aName.属性名}} 来访问子元素的属性值。 如果没有这个wx:for-index,则访问的时候要像数组一样带下标。
情况一:
page ({
data: {
arrayItem: {
a:1,
b:2
}
}
})
<block wx:for="{{arrayItem}} wx:for-index="in" wx:for-item="it">
<view>{{in}}:{{it}}</view>
</block>
结果为:
a:1
b:2
情况二:
page ({
data: {
arrayItem: [
a,b
]
}
})
<block wx:for="{{arrayItem}} wx:for-index="in" wx:for-item="it">
<view>{{in}}:{{it}}</view>
</block>
结果为:
1:a
2:b
wx:key的用途:
列表中项目的位置会动态改变或者有新的项目添加到列表中
希望列表中的项目保持自己的特征和状态
所以需要使用wx:key来作为指定列表的唯一标识符,来保留自已的特征和状态。
在input,switch等时。
存在wx:key时:
添加元素或改变元素顺序导致数据改变时, 会校正带有Key的组件(可通过key识别各组件), 框架会根据“目前数据”,重新排序各组件,而不是重新创建,
使组件保持自身的状态,列表渲染效率高。
wx:key的取值
wx:key="字符串”
该字符串是在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
wx:key="*this"
代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字, 用于组件仅需要一个属性,且属性值唯一 .
原文:https://www.cnblogs.com/Hhhighway/p/12680592.html