最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序wxml列表渲染原理解析

 更新時間:2019年11月27日 15:09:22   作者:冬冬他哥哥  
這篇文章主要介紹了微信小程序wxml列表渲染原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了微信小程序wxml列表渲染原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

列表渲染存在的意義

以電商為例,我們希望渲染5個商品,而又希望容易改變,我們就要在wxml中動態(tài)添加。

<view>
  <block wx:for="{{products}}" wx:for-item="item" wx:key="index">
    <view>{{index+1}}:{{item.name}}</view>
  </block>
</view>
Page({
 data: {
  message: "hello world",
  products: [{
    name: "商品A"
   },
   {
    name: "商品B"
   },
   {
    name: "商品C"
   },
   {
    name: "商品D"
   },
   {
    name: "商品E"
   }
  ]
 }

})

上面在一個非顯示組件block中,我們渲染五個有內(nèi)容的view

wx:for是循環(huán)數(shù)組,wx:for-item即給列表賦別名

子循環(huán)

<view wx:for="{{parentList}}">
 {{item.id}}
 <view wx:for="{{item.childList}}" wx:for-item="items">
 {{items.name}}{{items.account}}
 </view>

wx:key用來穩(wěn)定渲染,作為渲染想的唯一標(biāo)識(主要有三種)

1、字符串

代表在 for 循環(huán)的 array 中 item 的某個 property,該 property 的值需要是列表中唯一的字符串或數(shù)字,且不能動態(tài)改變。

data: {
input_data: [
{ id: 1, unique: "unique1" },
{ id: 2, unique: "unique2" },
{ id: 3, unique: "unique3" },
{ id: 4, unique: "unique4" },
]
}
//test.wxml
<input value="id:{{item.id}}" wx:for="{{input_data}}" wx:key="unique" />

2、保留關(guān)鍵字 *this

代表在 for 循環(huán)中的 item 本身,這種表示需要 item 本身是一個唯一的字符串或者數(shù)字,如:
當(dāng)數(shù)據(jù)改變觸發(fā)渲染層重新渲染的時候,會校正帶有 key 的組件,框架會確保他們被重新排序,而不是重新創(chuàng)建,以確保使組件保持自身的狀態(tài),并且提高列表渲染時的效率。

data: {
numberArray: [1, 2, 3, 4],
stringArray:['aaa','ccc','fff','good']
}
//test.wxml
<input value="id:{{ item }}" wx:for="{{numberArray}}" wx:key="*this" />
<input value="id:{{ item }}" wx:for="{{stringArray}}" wx:key="*this" />
},

一般是指定一個唯一的字段(類似于id的定義);

3、通配符+名字

用wx:key和不用對比  

wk:key 組件識別 渲染情況 狀態(tài)情況 for效率
各組件可識別 渲染時僅改變組件順序 保持組件之前原來狀態(tài) 效率高
組件無法識別 渲染時重新創(chuàng)建各組件 重置組件的初始狀態(tài) 效率低

1.需要wx:key的情況

列表中項(xiàng)目的位置會動態(tài)改變或者有新的項(xiàng)目添加到列表中

希望列表中的項(xiàng)目保持自己的特征和狀態(tài)

(如 <input/> 中的輸入內(nèi)容,<switch/> 的選中狀態(tài))

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

且末县| 皋兰县| 公安县| 抚顺市| 万州区| 青浦区| 牡丹江市| 富蕴县| 长岛县| 龙岩市| 邛崃市| 阳东县| 原阳县| 闽清县| 开化县| 灵璧县| 东海县| 沙田区| 湟中县| 教育| 萝北县| 内丘县| 聂拉木县| 德令哈市| 贺兰县| 塔河县| 玉树县| 平山县| 石渠县| 安吉县| 云南省| 绥滨县| 乐山市| 陵水| 当涂县| 江油市| 新竹市| 扶余县| 图木舒克市| 中西区| 安泽县|