精华

setData的灵活应用

  • • 发表于 8年前
  • • 作者 刘冰华
  • • 2333 人浏览
  • • 1 条评论
  • • 最后编辑时间 8年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

开发过程中经常有朋友问如何改变赋值,现整理下统一回复并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 
));
分享到:
1条评论
Ctrl+Enter
作者

刘冰华

刘冰华

APP:0 帖子:15 回复:29 积分:953

已加入社区[2921]天

屌丝男士

作者详情》
Top