微信小程序 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瞬间弄好,真的麻烦。。。。。。。。。。。。。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 国风大师纯音系列《古筝仙子 常静演奏 十指弹一》1CD[FLAC][919MB]
- DasKapital-OneMustHaveChaosInsidetoGiveBirthtoaDancingStar(2024)[24-44.1]WAV
- 王菲.1999-《只爱陌生人》日本东芝版[低速原抓WAV+CUE]
- 张小英1987-金奖金曲第一集[新加坡版][WAV+CUE]
- 鹿晗.2015-重启【海蝶】【FLAC分轨】
- 张芸京.2012-小女孩【金牌大风】【WAV+CUE】
- 余天.2002-雄狮魅力金曲2CD(南方金点系列)【南方】【WAV+CUE】
- 银霞.1982-《结·SAYYESMYBOY》台湾复刻版[WAV+CUE]
- 梁汉文1993-火热动感[引进版][WAV+CUE]
- 梁汉文2008-EDMONDHITS48[香港]3CD[WAV+CUE]
- 国风大师纯音系列《童丽-[渭城曲]》1CD[WAV分轨][593.5MB]
- 国风大师纯音系列《许菱子《烧筝2》古筝曲集》1CD[WAV分轨][1.3GB]
- 王子异《1996 Part.2》[320K/MP3][18.29MB]
- 群星.1994-宝丽金最倾情3CD【宝丽金】【WAV+CUE】
- 乐俊亨.2024-同泪【CharioticMusic】【FLAC分轨】