原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
开发过程中经常有朋友问如何改变赋值,现整理下统一回复并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
));