响应

时间:2017-12-19 16:35:24

标签: javascript backbone.js backbone-model

我有一个API响应,它有一个嵌套对象,如下所示 -

{
    name: '',
    age: '',
    departments: {
        size: '',
        head: ''
    }

}

如何设置departments对象的head属性?

我尝试过以下

model.get('departments').set({
    head: 'abc'
})

这会抛出错误model.get(...)。set不是函数。

编辑:

试着做 -

 model.set('departments', {'head': 'abc'});

这将在departments对象中设置head属性。但是,它会从响应中的departments对象中删除size属性。

有更好的方法吗?我错过了什么?

1 个答案:

答案 0 :(得分:1)

我能够使用下划线的克隆功能实现这一目标。以下是解决方案 -

  var departmentObj = _.clone(model.get('departments'));
      departmentObj.head = 'abc';
      model.set({
        'departments': departmentObj
      });

这应该可以胜任。