如何使用嵌套属性设置主干模型idAttribute

时间:2013-03-09 23:43:27

标签: backbone.js backbone-model

我的模型结构如下:

model = {
    distance: 12.05,
    widget: {
        id: 1,
        creationDate: '12/01/2012'
    }
}

如何将模型的idAttribute设置为widget属性的id?是否有语法来执行此操作?

1 个答案:

答案 0 :(得分:2)

如何重新排列/展平您的模型以使id成为顶级属性?覆盖解析,您不需要设置idAttribute:

var YourModel = Backbone.Model.extend({
    parse: function (response) {
        var distance = response.distance;
        response = response.widget;
        response.distance = distance;
        return response;
    }
});

现在ID将被Backbone自动选为ID。如果需要将数据保留回数据存储区,则需要覆盖转换数据所需的方法。如果可能的话,如果您的模型已经在顶层使用了id,那将是一个更好的解决方案。