1. 程式人生 > >微信小程式WXML之列表渲染

微信小程式WXML之列表渲染

這一章節我們來學習一下我們在程式中另一個重要的語法結構迴圈結構,在java或C中是用for關鍵字的,在微信小程式中也是for關鍵字,但是不同的是語法結構有點不同,下面我們介紹一下。

wx:for

在元件上使用wx:for控制屬性繫結一個數組,即可使用陣列中各項的資料重複渲染該元件。

預設陣列的當前項的下標變數名預設為index,陣列當前項的變數名預設為item

下面我們來分析一下一個例項:

1.test.wxml檔案

<viewwx:for="{{items}}">
  {{index}}: {{item.arry}}
</view>
2.test.js檔案
Page({
  items: [{
    arry: 'a'
, },{ arry: 'b' }] })
首先在test.wxml檔案中wx:for後面的雙重大括號中的items是一個數組,陣列的元素如test.js中所見,在wx:for下面{{index}}:{{item.arry}}中index是items陣列的下標,item.arry是陣列中的元素也即是“a”和“b”。

我們在編譯器中編譯後的結果如圖所示:

還可以使用wx:for-item可以指定陣列當前元素的變數名,wx:for-index可以指定陣列當前下標的變數名,如下例項:

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

另外wx:for和其他程式語言一樣也可以巢狀使用,下邊是一個九九乘法表

<viewwx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}"wx:for-item="i">
  <viewwx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}"wx:for-item="j">
    <viewwx:if="{{i <= j}}">
      {{i}} * {{j}} = {{i * j}}
    </
view>
</view> </view>

執行結果


block wx:for

類似block wx:if,也可以將wx:for用在<block/>標籤上,以渲染一個包含多節點的結構塊。例如:

<blockwx:for="{{[1, 2, 3]}}">
  <view> {{index}}: </view>
  <view> {{item}} </view>
</block>

最後希望各位客官老爺門給我一個繼續寫這個小程式技術貼的動力,也希望大家共同進步,帥氣的客官可以掃一下下面的二維碼給我捐點碼字的銀子,謝謝!!!微笑