91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序 setData使用方法及常用錯誤解決辦法

發布時間:2020-10-04 20:43:46 來源:腳本之家 閱讀:320 作者:月下獨奏 欄目:web開發

微信小程序 setData使用方法及常用錯誤解決辦法

最近在弄微信小程序,類似于共享單車用來練練手,基本原理就是小程序發送經緯度給服務器,服務器從數據庫中檢索經緯度附近的單車傳給小程序。

就在這里。。沒錯就是這里,傳回來的值是以jsonarray格式傳過來的。
我需要將jsonarray進行解析獲取經緯度,ID等車輛信息,然后賦值給小程序地圖上的mark,一般我的思路時直接用個for循環給每個mark進行賦值然后再Setdata一下就ok,

結果沒想到小程序setData()設置數組對象的某個元素的屬性時根本沒用。。。。。

然后百度一會兒找到了方法   https://www.jb51.net/article/111691.htm

最近在使用微信小程序的setData時,遇到了以下問題。如下:

官網文檔在使用setData()設置數組對象的某個元素的屬性時,是這么使用的:

Page({
 data: {
  array: [{text: 'init data'}],
 },
 changeItemInArray: function() {
  this.setData({
   'array[0].text':'changed data'
  })
 }
})

使用了 ‘array[0].text' : ‘changed data' 這樣的值。但在實際使用中,我們對數組的中的某個元素的設置是動態的。即 我們通常應該是‘array[‘+index+'].text' : ‘changed data' ,其中index應該是一個動態的數字。但顯然,這樣是無法使用在對象的key中的。

所以,我只能使用了一個變通的方法。如下:

var param = {};
var string = "array["+index+"].text;
param[string] = 'changed data';
that.setData(param);

這個每個屬性都需要來一次。。。

不知道是我沒找到更好的方法還是怎樣,我的強迫癥都出來了。。

下面就是我的代碼。。。

 markers: {
   iconPath: "/picture/bike.png",
   id: 0,
   latitude: 23.099994,
   longitude: 113.324520,
   width: 50,
   height: 50
  }

這是markers類結構,我為了賦值寫了這么多。。

for(var i = 0; i < res.data.length; i++){
       // that.data.markers[i].id=i;
        // mark.id=i;
       var param = {};
       var string = "markers["+i+"].id";
       param[string] = res.data[i].Bike_id;       
        that.setData(param);


       var string="markers["+i+"].iconPath";
       param[string] ="/picture/bike.png";
       that.setData(param);


       var string = "markers["+i+"].latitude";
       param[string] = res.data[i].BIKE_latitude;       
        that.setData(param);
     


       var string = "markers["+i+"].longitude";
       param[string] = res.data[i].BIKE_longitude;       
        that.setData(param);




        var string = "markers["+i+"].width";
       param[string] = 50;       
        that.setData(param);


        var string = "markers["+i+"].height";
       param[string] = 50;       
        that.setData(param);
        /* that.setData({
        markers:[{
   iconPath: "/picture/bike.png",
   id: 0,
   latitude: 23.099994,
   longitude: 113.324520,
   width: 50,
   height: 50
        }]
       })*/
       }
     //   console.log(res.data[1])
       var markk=that.data.markers;
       that.setData({markers:markk})

最后還必須setData一下,不然地圖不會刷新。。

如果QT瞬間弄好,真的麻煩。。。。。。。。。。。。。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渝中区| 江永县| 西昌市| 鄂托克前旗| 密山市| 梁山县| 和林格尔县| 登封市| 洪洞县| 保定市| 青川县| 柘荣县| 额敏县| 株洲市| 南木林县| 临邑县| 石河子市| 大足县| 抚宁县| 南宁市| 布拖县| 彝良县| 吐鲁番市| 永善县| 自贡市| 连州市| 周口市| 浮梁县| 额尔古纳市| 湖南省| 大石桥市| 巍山| 比如县| 呼和浩特市| 左权县| 浙江省| 布尔津县| 鄂州市| 轮台县| 雷州市| 靖边县|