原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
開發過程中經常有朋友問如何改變賦值,現整理下統一回復并mark一下。
最常見data的莫過于如下幾種類型:
字符串,數組,對象,其他同理
data : {
a : '',
b : [
'b1','b2'
],
c : {
c1 : ''
},
d : [{
d1 : '1',
d2 : 2,
d3 : {
d : '31'
},
d4 : [{
d : '41'
}]
}],
e : [
{
name : 'e1'
},
{
name : 'e2'
},
{
name : 'e3'
}
]
}
語法一、改變字符串的值,相信大家都會
this.setData({
a : 'a'
})
語法二、改變數組的值
this.setData({
"b[1]" : "new b2"
})
語法三、改變對象的值
setData({
“c.c1” : “c1”
})
語法四、改變數組中對象的值
this.setData({
"d[0]['d1']" : "new val"
})
語法五、改變變量屬性的值
如要設置e的第i個元素的k屬性設為新值v
var i = 1,k = 'name',v = 'new value';
this.setData((function(key , value){
var obj = {};
obj[key] = value;
return obj;
})(
'e["' + i +'"]["' + k + '"]' , v
));