バックボーン モデルで、必要に応じて解析関数を定義します。
Model = Backbone.Model.extend({
parse: function () {
return {
id: this.get("id"),
name: this.get("name")
}
}
});
ただし、次のように、モデル初期化子でデータを処理および設定する方がよいでしょう。
Model = Backbone.Model.extend({
initialize: function (attrs) {
try {
//TODO HERE: test for correct values and throw errors
// set object variables here
this.set({
name: attrs.name,
id: attrs.id
});
} catch (e) {
console.log(e);
}
}
});
parse 関数を上書きする必要はありません。このようにして、モデルが処理しているデータが適切であることを確認し、含まれる変数を設定します。これにより、無効なデータによる多くのエラーが回避されます。
配列内の各項目は、実際にはサブモデルである必要があります。これは、上で書いたものです。親モデルは次のようになります。
Model = Backbone.Model.extend({
initialize: function (items) {
this.subModels = [];
items.forEach(function (item) {
this.subModels.push( new SubModel(item) )
});
}
});
またはコレクションとして:
Collection = Backbone.Collection.extend({
model: ItemModel,
});
response.items を渡す先