關於微信小程式迴圈以及巢狀迴圈的總結
阿新 • • 發佈:2019-01-07
關於微信小程式,最近被安排做微信小程式,首次接觸,總體來說上手不是太困難。
對於小程式的迴圈問題頗有感觸,因為自己繫結資料到介面無數次用到迴圈和巢狀迴圈。
對於我們在js中從介面中通過POST或GET請求獲取資料存放到Page中定義的物件中:
//首頁話題列表 wx.request({ url: 'https://*******************', method: 'POST', data: { pageNum: 1, pageSize: 10 }, success:function(res){ that.setData({ listTop:res.data, }) } })
在wxml檔案中通過 wx:for="{{listTop}}"
來實現迴圈輸出物件中的資料,這裡我們可以通過{{index }} 獲取下標,也可以自定義下標:
wx:for-index="index2"
當listTop中存在物件com的時候,我們可以通過wx:for="{{item.com}}" 來實現迴圈該迴圈中的資料。
我在實際的專案中,遇到這樣一個問題:在巢狀迴圈的過程中,我需要將某個欄位的值進行轉換,比如時間戳換成日期/幾天前等,這個時候我們應該
知道微信小程式不支援介面直接呼叫JS,這個時候我們應該怎麼解決:
起初自己饒了很大一個彎子,我總是想在JS中通過迴圈放到一個物件中,然後再在介面迴圈出來,其實前一步我已經接近結果了,但是實際開發中
自己作為剛入職不到一個月的新手還是有很多不足,所以自己陷入到死迴圈當中。
解決方案:在你遍歷出來的時候,直接把原有的資料替換成想要的資料就行了。。。。(很簡單,但是當局者迷,但是由於自己解決的,可能存在
更好的方法,這裡僅作敘述)
for (var i = 0; i < res.data.data.length;i++){ console.log(res.data.data[i].comments+"**********"+i) console.log("***"+i) if (res.data.data[i].comments !=null){ for (var j = 0; j < res.data.data[i].comments.length;j++){ res.data.data[i].comments[j].createTime=transDate(res.data.data[i].comments[j].createTime) } } }
更多文章請關注公眾號:每天學Java。想獲得更多最新面試提醒請進入小程式:每天學Java
公眾號二維碼: 小程式二維碼: