微信小程式 setData 的坑
阿新 • • 發佈:2019-02-12
最近在使用微信小程式的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);