3

私のモデルは次のように構成されています。

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

モデルのidAttributeをウィジェットプロパティのidに設定するにはどうすればよいですか?これを行うための構文はありますか?

4

1 に答える 1

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で構造化されている場合は、より良い解決策になります。

于 2013-03-10T00:56:39.890 に答える