2013-03-17 4 views
0

다음 json 문자열이 있고 각 이름/값 쌍에서 모델을 만들려고합니다. 나는 "이름"이라고 각 모델의 ATTR가모델 백본 json

"[{"name":"A01"},{"name":"A02"},{"name":"A03"},{"name":"A04"},{"name":"A05"},{"name":"A06"},{"name":"A07"},{"name":"A08"},{"name":"A09"},{"name":"A10"},{"name":"A11"},{"name":"A12"},{"name":"A13"},{"name":"A14"},{"name":"A15"},{"name":"A16"},{"name":"B01"},{"name":"B02"},{"name":"B03"},{"name":"B04"},{"name":"B05"},{"name":"B06"},{"name":"B07"},{"name":"B08"},{"name":"B09"},{"name":"B10"},{"name":"B11"},{"name":"B12"},{"name":"B13"},{"name":"B14"},{"name":"B15"},{"name":"B16"},{"name":"C01"},{"name":"C02"},{"name":"C03"},{"name":"C04"},{"name":"C05"},{"name":"C06"},{"name":"C07"},{"name":"C08"},{"name":"C09"},{"name":"C10"},{"name":"C11"},{"name":"C12"},{"name":"C13"},{"name":"C14"},{"name":"C15"},{"name":"C16"},{"name":"D01"},{"name":"D02"},{"name":"D03"},{"name":"D04"},{"name":"D05"},{"name":"D06"},{"name":"D07"},{"name":"D08"},{"name":"D09"},{"name":"D10"},{"name":"D11"},{"name":"D12"},{"name":"D13"},{"name":"D14"},{"name":"D15"},{"name":"D16"}]" 

이 팀은 팀의 모음입니다 내 코드가 있습니다. 각 캐릭터마다 새로운 모델이 나옵니다. data 아마 원시 JSON 문자열이 아닌 객체의 실제 배열처럼

var myteams = new Teams(_.map(data, function(p) { return p.name })); 
var app = app || {}; 
var Teams = Backbone.Collection.extend({ 
    model: app.Team, 
    initialize: function (models,options) { } 
}); 

var app = app || {}; 

app.Team = Backbone.Model.extend({ 

    defaults: { 
     name: '' 
    }, 
    initialize: function(){ 
     console.log('This is ' +typeof(this)); 
    } 
}); 
+0

'팀'코드도 추가하십시오. –

답변

2

첫째, 그것은 보인다. 이미 JSON.parse으로 올바르게 변환하셨습니까?

두 번째로 문자열 배열을 Teams 컬렉션 생성자에 전달합니다. 그러지 마. 객체 배열을 전달해야하므로 _.map 호출을 잊어 버리면 data이 객체의 배열이고 해당 객체를 Teams 생성자에 직접 전달해야합니다.

세 번째로 팀 컬렉션이 제대로 채워지면 각 팀 이름 목록을 보려면 myteams.pluck("name")을 사용하십시오. (이것에 다만 참고).