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

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

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

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

列表渲染存在的意義

以電商為例,我們希望渲染5個(gè)商品,而又希望容易改變,我們就要在wxml中動(dòng)態(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"
   }
  ]
 }

})

上面在一個(gè)非顯示組件block中,我們渲染五個(gè)有內(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 的某個(gè) property,該 property 的值需要是列表中唯一的字符串或數(shù)字,且不能動(dòng)態(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 本身是一個(gè)唯一的字符串或者數(shù)字,如:
當(dāng)數(shù)據(jù)改變觸發(fā)渲染層重新渲染的時(shí)候,會校正帶有 key 的組件,框架會確保他們被重新排序,而不是重新創(chuàng)建,以確保使組件保持自身的狀態(tài),并且提高列表渲染時(shí)的效率。

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" />
},

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

3、通配符+名字

用wx:key和不用對比  

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

1.需要wx:key的情況

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

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

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

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

相關(guān)文章

最新評論

库伦旗| 临城县| 汝城县| 碌曲县| 南靖县| 沙湾县| 东丽区| 阳山县| 平陆县| 大兴区| 博客| 灵寿县| 阳高县| 兴隆县| 唐山市| 吉木萨尔县| 沂水县| 和平县| 民县| 万年县| 新巴尔虎右旗| 德兴市| 巨鹿县| 治多县| 平南县| 广东省| 泰宁县| 浪卡子县| 大港区| 沅陵县| 通山县| 东乡县| 呼玛县| 阿克苏市| 双牌县| 海兴县| 新泰市| 龙泉市| 镇远县| 灵寿县| 通榆县|