モデルにモデルを入れ子にする大きなjsonサーバー応答があります。私はサーバーを休止状態にする方法がありません。 jsonツリーをコレクション内のコレクションとコレクションに解析する必要があります。私はその後、同じjson構造のバックボーンモデルを変更後にサーバーにエクスポートしたいと考えています。 http://documentcloud.github.com/backbone/#FAQ-nested大きなjsonデータのモデル内外への解析
JSONレスポンスのトップレベルiが通過することができたので、セクションの配列である:
私はセクションと呼ばれるコレクション、および入れ子に各セクションモデル内の質問の集合を、この方法を使用して持っていますそれをsectionコレクションに直接渡して、私はinitializeメソッドを使って子供の質問を解析し、属性からそれらを削除しました。しかし、これは、セクションコレクションのtoJSONで返されたmodel.questionsを取得しないことを意味します。
SCC.Models.Section = Backbone.Model.extend({
initialize: function() {
var questions = this.get('questions');
this.questions = new SCC.Collections.Questions(questions);
delete this.attributes.questions;
}
});
SCC.Collections.Sections = Backbone.Collection.extend({
model: SCC.Models.Section
});
SCC.Sections = new SCC.Collections.Sections();
//imagine window.SectionData is the server response
SCC.Sections.reset(window.SectionData);
うまくいけばよいと思います。もっと情報が必要な場合は私に教えてください。
ありがとうございました。しかし
SCC.Models.Section = Backbone.Model.extend({
initialize: function() {
var questions = this.get('questions');
this.questions = new SCC.Collections.Questions(questions);
delete this.attributes.questions;
},
toJSON: function() {
var json = Backbone.Model.prototype.toJSON.call(this);
json.questions = this.questions.toJSON()
return json
}
});
:あなたがコントロール下にあり、頻繁に変更されることはありませんネストされたモデルの数が限られている場合は