小程式無法通過this.data.a = ***這種直接的形式改變某個值,特别是對象或者數組的改變稍微麻煩點,可以使用如下方法
Page({
data: {
array: [{text: 'init data'}],
goods: [
{id: 1,pic: '/image/goods1.png'},
{id: 1,pic: '/image/goods1.png'}
],
},
onLoad:function(options){
let id = options.id
let index = 1
let str = "goods["+index+"].id"; //直接拼接成字元串
this.setData({
[str]:id //用中括号包裹這個字元串
})
}
changeItemInArray: function() {
this.setData({
'array[0].text':'changed data'
})
}
})
有時候想給屬性值的對象或者數組進行指派,例如給data.goods.id進行指派,就要用另外的方式
Page({
data:{
goods: {
id: 1,
},
},
onLoad:function(options){
let id = options.id;
let str = "goods.id"; //直接拼接成字元串
this.setData({
[str]:id //用中括号包裹這個字元串
})