撕开奶罩疯狂揉吮奶头_天堂69堂在线精品视频软件_亚洲中文av一区二区三区_成人无码A片一区二区三区免费看_日韩欧美亚_天天干天天操

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 軟件開發

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

發表時間:2019-05-20 08:50:21

文章來源:沈陽網站建設

標簽:微信小程序

分享:

瀏覽次數:0

本篇文章給大家帶來的內容是關于微信小程序中使用async/await語法的方法(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

開發微信小程序離不開“頁面渲染”,對于初學者來說很難理解小程序里的“頁面渲染”是什么、怎么用?
而學過 vue 的同學來說,這個就比較熟悉了,實際上就是數據綁定頁面渲染。
那么關于頁面渲染最重要的是列表渲染和條件渲染這兩塊,先來看看幾個簡單的例子。

下面是個“列表渲染”的例子:

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

<a href=http://m.jiozzl.cn target=_blank class=infotextkey>沈陽<a href=http://m.jiozzl.cn target=_blank class=infotextkey>軟件開發</a></a>,<a href=http://m.jiozzl.cn target=_blank class=infotextkey>沈陽<a href=http://m.jiozzl.cn target=_blank class=infotextkey>軟件公司</a></a>

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

上面的例子可以看出,默認數組的當前項的下標變量名默認為 index,數組當前項的變量名默認為 item。當然,使用 wx:for-item 可以指定數組當前元素的變量名,使用 wx:for-index 可以指定數組當前下標的變量名,如下:

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

下面是個“條件渲染”的例子:

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

上面的例子說明,當 condition 為真時,頁面渲染上面的 view 標簽。當然也可以用 wx:elif 和 wx:else 來添加一個 else 塊,如下:

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

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

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

其實初次看 官方文檔 可能會對 wx:key 有點懵,官方解釋是這樣的:

776779079-5c47d666d22d5_articlex.png

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

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

于是我驚奇地發現警告統統不見了,也沒有其他負面影響,于是我就這樣用了大半年。
然而,半年前我做的一個項目里面有個列表渲染需要試試獲取用戶頭像和昵稱,于是我之前的做法不管用了,每次獲取到的用戶信息跟當前內容不對應,并且會發生錯亂。于是我重新理解了一遍 wx:key,結合下面的例子,我似乎明白了:

<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'},    ]  }})

其實,wx:key 是用來綁定當前列表中的項目特征的,也就是說,如果列表是動態更新的,那么 wx:key 的作用是保持原有項目的整個狀態不變。
結合上面的例子,我們可以知道,對于列表數組是個對象數組,那么 wx:key 屬性直接寫對應的唯一的屬性名就可以了,比如上面的 wx:key="unique", 或者 wx:key="id" 也是可以的,只要保持屬性是唯一值就行了,有點類似頁面標簽里面的 id 屬性在頁面是唯一的。
對于列表數組是個基本類型數組,那么直接寫 wx:key="*this" 就可以了,如下:

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

微信小程序

相關案例查看更多

主站蜘蛛池模板: 亚洲综合网站久久久 | 国产黄色片一级片 | 国产AⅤ精品一区二区三区久久 | 在线免费观看一级片 | 国产精品无码免费播放 | 午夜成人A片精品视频免费观看 | zzijzzij亚洲日本少妇jizjiz | 四川老熟妇乱子XX性BBW | 91精品久久久久五月天精品 | 亚洲AV永久综合在线观看尤物 | 久久精品国产久精国产69 | 亚洲大尺度无码无码专线 | 99re66在线观看精品免费 | 亚洲xxxxxxxxx| youjizz丰满熟妇 | 在线 一区二区三区 | 精品人妻无码一区二区三区在线 | 老中医吮她的花蒂和奶水视频播放 | 无码无套少妇毛多18PXXXX | 三年片在线视频中国 | 国产在线高清精品 | 日韩第一精品 | 午夜成人亚洲理伦片在线观看 | 亚洲AⅤ片不卡无码久久 | 中文字幕一区二区三区视频播放 | 亚洲 欧美 国产 日韩 中文字幕 | 国产精品乱码久久久 | 中日韩免费毛片 | 日日摸处处碰夜夜爽 | 国产激情久久久久老熟女亚洲 | 国产免费一区二区三区四在线播放 | 成人免费A级毛片 | 成人做爽爽爽爽免费国产软件 | 尤物AV无码色AV无码麻豆 | 神马久久精品综合 | 午夜无码伦费影视在线观看 | 永久免费的啪啪免费网址 | 日本中文字幕在 | a毛片成人免费全部播放 | 无码人妻精品一区二区蜜桃网站 | 欧美精品欧美精品系列 |