2016-06-06 10 views
1

Meine Daten bestehen aus einem Objekt, das verschachtelte Objekte hat, wobei jeder Schlüssel die ID ist. Ich möchte die Sammlung analysieren response.payload, aber wenn ich das mache, wird die Sammlung als 1 Objekt zurückgegeben, das die verschachtelten Objekte enthält. Kann jemand beraten, wie ich jedes verschachtelte Objekt zu einem Modell machen kann?Backbone-Sammlung besteht aus nur 1 Objekt von Objekten, wie kann ich jedes verschachtelte Objekt zu einem Modell machen?

JS

var data = { 
    "payload": { 
     "020": { 
      "sessions": ["SES1", "SES2", "SES3", "SES4"], 
      "account": [], 
      "tag": [] 
     }, 
     "650": { 
      "sessions": ["SES11", "SES12", "SES13"], 
      "account": ["ACCT1", "ACC2", "ACC3"], 
      "tag": [] 
     }, 
     "880": { 
      "sessions": ["SES900", "SES901"], 
      "account": ["abc", "DEF"], 
      "tag": ["TAG5", "TAG53"] 
     } 
    } 
}; 

var SearchCollection = Backbone.Collection.extend({ 
    parse: function(response) { 
     console.log(response.payload); 
     return response.payload; 
    } 
}); 

var searchCollection = new SearchCollection(data, {parse: true}); 
console.log(searchCollection.toJSON()); 

Muss ich die Antwort in Parse-Schleife und erstellen Modell mit einem Schlüssel-ID statt oder ein Modell erstellen und einige Parsen es tun?

JS Fiddlehttp://jsfiddle.net/t6w0bcu6/22/

Antwort

2

Ich würde "Schleife die Antwort in Parse und erstellen Modell mit einem Schlüssel-ID". Hier ist eine Möglichkeit, es zu tun.

var SearchCollection = Backbone.Collection.extend({ 
    parse: function(response) { 
     var models = []; 
     _.each(response.payload,(value, key)=>{ 
     value.id = key; 
     models.push(new Backbone.Model(value)) 
     }) 
     return models; 
    } 
}); 

http://jsfiddle.net/t6w0bcu6/23/

Verwandte Themen