收藏
回答

复杂数据对象的 动态赋值

问题模块
API和组件

有一个  feed 数组   ,    里边是  infodata 对象,这个对象 有一个  verifyresult属性,verifyresultarry是一个数组,里边是verifyresult 对象



现在 要改变 verifyresult 的is_isview 属性值

that.setData({
feed[0].verifyresult[1].verifyresult :1
});

这样是可行的  可是如果  0,1  换成 变量 就报错了

that.setData({
feed[faindex].verifyresult[index].verifyresult :1
});




求大神 给出解决方案

最后一次编辑于  2017-06-16  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • maq
    maq
    2017-06-16

    那要看你的 fa 和 now 具体是什么值,如果不是数字的话,写法上是不同的。

    2017-06-16
    赞同
    回复
  • 硕子
    硕子
    2017-06-16

    @maq  试了下报错啊 好像不能这么写

    2017-06-16
    赞同
    回复
  • maq
    maq
    2017-06-16
    that.setData({
        ['feed[' + fa + '].verifyresult[' + now + '].is_viewed']: 1
    });

    这样应该就可以。不过貌似 fa 和 now 有取值范围限制。

    2017-06-16
    赞同
    回复
  • 硕子
    硕子
    2017-06-16
    var that = this;
        var fa = e.target.dataset.fa;
        var now = e.target.dataset.now;
       
       
        var feed1 = that.data.feed;
        var arry2 = feed1[fa].verifyresult;
         
        arry2[now].is_viewed=1;
     
        feed1[fa].verifyresult = arry2;
     
       
        that.setData({
          feed: feed1,
         activeIndex:1

        })


    不能直接 赋值,先改变verifyresult 这个数组然后赋给feed  


    2017-06-16
    赞同
    回复
  • 硕子
    硕子
    2017-06-16

    已经解决

    2017-06-16
    赞同
    回复