1 wx:for
通过 wx:for 可以根据指定的数组,循环渲染重复的组件结构。
默认情况下,当前循环项的索引用 index 表示;当前循环项用 item 表示。
<!--pages/list/list.wxml--> <view wx:for="{{arr}}"> 索引:{{index}} -- 当前项:{{item}} </view>
// pages/list/list.js Page({ data: { arr: [ 'a', 'b', 'c', 'd', 'e', 'f', ] } })
2 手动指定索引和当前项的变量名
使用 wx:for-index 可以指定当前循环项的索引的变量名
使用 wx:for-item 可以指定当前项的变量名
<!--pages/list/list.wxml--> <view wx:for="{{arr}}" wx:for-index="idx" wx:for-item="content"> 索引:{{idx}} -- 当前项:{{content}} </view>
3 wx:key 的使用
类似于 Vue 列表渲染中的 :key,小程序在实现列表渲染时,也建议为渲染出来的列表项指定唯一的 key 值,从而提高渲染的效率。
列表渲染中的key一般选用具有唯一性的id,不建议使用索引,因为不能进行唯一标识每一项,索引会根据数组中元素个数、位置的变化而改变(索引对应的项发生改变)。
<!--pages/list/list.wxml--> <view wx:for="{{arr}}" wx:for-index="idx" wx:for-item="content" wx:key="id" > id: {{content.id}} 索引:{{idx}} -- 当前项:{{content.content}} </view>
// pages/list/list.js Page({ data: { arr: [ {id: 1, content: 'a'}, {id: 2, content: 'b'}, {id: 3, content: 'c'}, {id: 4, content: 'd'}, {id: 5, content: 'e'} ] } })