閱讀442 返回首頁    go 搜狐


微信小程序開發教程基礎篇8-數據綁定下

教程接上篇,當需要展示一組數據時,可以使用

其中

index

是當前數據索引的默認變量名,

item

是當前數據項的默認變量名。 也可以使用

來指定別名

也可以嵌套使用,如下麵是一個九九乘法表

類似

,也可以將

用在標簽上,以渲染一個包含多節點的結構塊

要理解為什麼需要

,先來看一個例子:

上麵的代碼創建了兩個checkbox組件和一個按鈕,當點擊按鈕會在最上方新增一個

checkbox

組件。 編譯代碼,會顯示如下界麵:

點擊按鈕,界麵如下:

ok,到這裏一切正常 ,為了更好的說明問題,加入checkbox選中事件的處理,當checkbox被選中時,將文字修改為"我被選中了",相關代碼如下:

當選中第一個checkbox時,界麵如下

這時如果點擊添加組件按鈕會怎樣呢,期望的效果應該如下

然而實際效果確是下圖這樣的

可以看到渲染引擎並沒有將選中的效果和數據綁定起來,導致出現了預期之外的結果。如果想要達到預期效果,就要使用

{} 在上方添加一個新的check組件

將.wxml文件修改為上述代碼所示,就可以實現預期效果,重點就在

這一句

如果列表中項目的位置會動態改變或者有新的項目添加到列表中,並且希望列表中的項目保持自己的特征和狀態(如 中的輸入內容, 的選中狀態),需要使用

來指定列表中項目的唯一的標識符。

的值以兩種形式提供 1 字符串,代表在 for 循環的 array 中 item 的某個 property,該 property的值需要是列表中唯一的字符串或數字,且不能動態改變。 2 保留關鍵字

*this

代表在 for 循環中的 item 本身,這種表示需要item 本身是一個唯一的字符串或者數字,

上麵引用自微信官方教程。除了用於保持視圖組件的狀態外,使用

還有助於提高渲染效率

當數據改變觸發渲染層重新渲染的時候,會校正帶有 key的組件,框架會確保他們被重新排序,而不是重新創建,以確保使組件保持自身的狀態,並且提高列表渲染時的效率。

最後更新:2017-10-08 07:50:25

  上一篇:go 微信小程序開發教程基礎篇9-事件
  下一篇:go 微信小程序開發教程基礎篇6-logs頁麵解析