国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 16:36:31
字體:
供稿:網(wǎng)友

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

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

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

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

然后百度一會兒找到了方法   //m.survivalescaperooms.com/article/111691.htm

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

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

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

使用了 ‘a(chǎn)rray[0].text' : ‘changed data' 這樣的值。但在實際使用中,我們對數(shù)組的中的某個元素的設(shè)置是動態(tài)的。即 我們通常應(yīng)該是‘a(chǎn)rray[‘+index+'].text' : ‘changed data' ,其中index應(yīng)該是一個動態(tài)的數(shù)字。但顯然,這樣是無法使用在對象的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類結(jié)構(gòu),我為了賦值寫了這么多。。

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瞬間弄好,真的麻煩。。。。。。。。。。。。。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻阳| 鄂温| 温宿县| 临澧县| 鄂托克旗| 桓仁| 武宁县| 黄浦区| 西吉县| 阆中市| 皮山县| 酒泉市| 南和县| 临海市| 江源县| 沙河市| 玛沁县| 镇坪县| 安岳县| 天长市| 恭城| 漠河县| 贞丰县| 东辽县| 通海县| 杭锦后旗| 绍兴市| 隆安县| 邯郸市| 龙江县| 扎赉特旗| 忻州市| 方山县| 山西省| 宁都县| 乌拉特中旗| 连平县| 东莞市| 名山县| 沙田区| 博罗县|