1. 程式人生 > >關於微信小程式迴圈以及巢狀迴圈的總結

關於微信小程式迴圈以及巢狀迴圈的總結

關於微信小程式,最近被安排做微信小程式,首次接觸,總體來說上手不是太困難。

對於小程式的迴圈問題頗有感觸,因為自己繫結資料到介面無數次用到迴圈和巢狀迴圈。

對於我們在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

 公眾號二維碼:                                                                                          小程式二維碼: