久久99亚洲精品久久频_久久久久久久久久久身材好_日本一区二区免费高清视频_www.九九精品_国产做a爱一级毛片久_国产高潮流白浆啊免费A片动态

18842388900

網(wǎng)站建設(shè) APP開發(fā) 小程序

Article/文章

記錄成長(zhǎng)點(diǎn)滴 分享您我感悟

您當(dāng)前位置>首頁(yè) > 知識(shí) > 軟件開發(fā)

列表渲染wx:key的作用以及條件渲染 wx:if 與 hidden之間的區(qū)別

發(fā)表時(shí)間:2019-05-20 08:50:21

文章來源:沈陽(yáng)網(wǎng)站建設(shè)

標(biāo)簽:微信小程序

分享:

瀏覽次數(shù):0

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于微信小程序中使用async/await語法的方法(代碼示例),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

開發(fā)微信小程序離不開“頁(yè)面渲染”,對(duì)于初學(xué)者來說很難理解小程序里的“頁(yè)面渲染”是什么、怎么用?
而學(xué)過 vue 的同學(xué)來說,這個(gè)就比較熟悉了,實(shí)際上就是數(shù)據(jù)綁定頁(yè)面渲染。
那么關(guān)于頁(yè)面渲染最重要的是列表渲染和條件渲染這兩塊,先來看看幾個(gè)簡(jiǎn)單的例子。

下面是個(gè)“列表渲染”的例子:

<view wx:for="{{array}}">  {{index}}: {{item.message}}</view>
Page({  data: {    array沈陽(yáng)小程序制作

<a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>沈陽(yáng)<a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>軟件開發(fā)</a></a>,<a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>沈陽(yáng)<a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>軟件公司</a></a>

: [{ message: 'foo', }, { message: 'bar' }] }})

上面的例子可以看出,默認(rèn)數(shù)組的當(dāng)前項(xiàng)的下標(biāo)變量名默認(rèn)為 index,數(shù)組當(dāng)前項(xiàng)的變量名默認(rèn)為 item。當(dāng)然,使用 wx:for-item 可以指定數(shù)組當(dāng)前元素的變量名,使用 wx:for-index 可以指定數(shù)組當(dāng)前下標(biāo)的變量名,如下:

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

下面是個(gè)“條件渲染”的例子:

<view wx:if="{{condition}}">True</view>
Page({  data: {    condition: true  }})

上面的例子說明,當(dāng) condition 為真時(shí),頁(yè)面渲染上面的 view 標(biāo)簽。當(dāng)然也可以用 wx:elif 和 wx:else 來添加一個(gè) else 塊,如下:

<view wx:if="{{length > 5}}">1</view><view wx:elif="{{length > 2}}">2</view><view wx:else>3</view>

下面接入正題,探索文章題目的疑問

一、 列表渲染中的 wx:key 有什么作用

其實(shí)初次看 官方文檔 可能會(huì)對(duì) wx:key 有點(diǎn)懵,官方解釋是這樣的:

776779079-5c47d666d22d5_articlex.png

根據(jù)我多年看文檔經(jīng)驗(yàn),一般我看不懂的可以忽略不重要的文字,只需關(guān)注重點(diǎn),例如上圖的文字加粗部分,因此,一開始我選擇不寫 wx:key 這個(gè)屬性。然而在開發(fā)過程中寫多了列表渲染(而沒有加 wx:key)之后,控制臺(tái)會(huì)報(bào)很多的 wx:key 的警告,對(duì)于有點(diǎn)代碼潔癖的我看起來很不爽,但又苦于不清楚 wx:key 的真正作用,于是自創(chuàng)了一個(gè)解決辦法,那就是在每個(gè)列表渲染后面加上 wx:key="{{index}}",類似下面這樣:

<view wx:for="{{array}}" wx:key="{{index}}">  {{item}}</view>

于是我驚奇地發(fā)現(xiàn)警告統(tǒng)統(tǒng)不見了,也沒有其他負(fù)面影響,于是我就這樣用了大半年。
然而,半年前我做的一個(gè)項(xiàng)目里面有個(gè)列表渲染需要試試獲取用戶頭像和昵稱,于是我之前的做法不管用了,每次獲取到的用戶信息跟當(dāng)前內(nèi)容不對(duì)應(yīng),并且會(huì)發(fā)生錯(cuò)亂。于是我重新理解了一遍 wx:key,結(jié)合下面的例子,我似乎明白了:

<switch wx:for="{{objectArray}}" wx:key="unique" style="display: block;">  {{item.id}}</switch>
Page({  data: {    objectArray: [      {id: 5, unique: 'unique_5'},      {id: 4, unique: 'unique_4'},      {id: 3, unique: 'unique_3'},      {id: 2, unique: 'unique_2'},      {id: 1, unique: 'unique_1'},      {id: 0, unique: 'unique_0'},    ]  }})

其實(shí),wx:key 是用來綁定當(dāng)前列表中的項(xiàng)目特征的,也就是說,如果列表是動(dòng)態(tài)更新的,那么 wx:key 的作用是保持原有項(xiàng)目的整個(gè)狀態(tài)不變。
結(jié)合上面的例子,我們可以知道,對(duì)于列表數(shù)組是個(gè)對(duì)象數(shù)組,那么 wx:key 屬性直接寫對(duì)應(yīng)的唯一的屬性名就可以了,比如上面的 wx:key="unique", 或者 wx:key="id" 也是可以的,只要保持屬性是唯一值就行了,有點(diǎn)類似頁(yè)面標(biāo)簽里面的 id 屬性在頁(yè)面是唯一的。
對(duì)于列表數(shù)組是個(gè)基本類型數(shù)組,那么直接寫 wx:key="*this" 就可以了,如下:

<block wx:for="{{[1, 2, 3]}}" wx:key="*this">  <view>{{index}}:</view>  <view>{{item}}</view></block>              
              

微信小程序

相關(guān)案例查看更多

主站蜘蛛池模板: 亚洲精品无码久久毛片波多野吉衣 | 日本在线观看视频一区 | 欧美黄视频| 国产精品无码v在线观看 | 午夜影院在线观看版 | 欧美综合网 | 福利一区二区视频 | 久久国产成人午夜av影院 | 欧美日韩精品免费观看视欧美高清免费大片 | 国产三级久久 | 亚洲乱码国产乱码精品精软件 | 国产大片免费完整观看 | 久草在现在线 | 国产精品亚洲А∨天堂网 | 无码高潮爽到爆的喷水视频 | 免费A级毛片 | 亚洲国产精品无码久久久五月天 | 精品一区二区久久久久 | 日本三级高清 | 99国产麻豆精品 | 亚洲天堂资源网 | 天天干天天干天天干天天 | 久久婷婷五月综合色国产免费观看 | 久久久亚洲欧洲日产国码二区 | 日韩精品手机在线 | 日韩欧美一区在线 | 精品国产一级 | 国产精品亚洲精品 | 亚洲精品国产福利一二区 | 免费在线激情视频 | 殴美成人在线视频 | 小14萝裸体洗澡视频免费网站 | 日本老头老太XING交 | 欧美一区二区三区白人 | 日本黄色录像片 | 国产精品高清无码在线观看 | 七级黄色片 | 午夜精品a片一区二区三区 欧美日本国产视频 | 无码制服丝袜人妻在线视频 | 寂寞少妇一区二区三区 | 欧美18一19sex性护士浴室 |