2013-07-05 6 views
0

odata 응답을 내 모델에 바인딩하는 데 문제가 있습니다. 처음에 나는 간단한 모델과 간단한 응답을 가지고 있었고 잘 작동했다. 그러나 나는 odata 형식으로 응답을 변경했습니다.응답으로 속성에서 백본 모델을로드하는 방법은 무엇입니까?

var UserCard = Backbone.Model.extend({ 
    defaults: { 
     ... 
    } 
}); 

및 관련 모음 : 내 백본 modle이다

var UserCards = Backbone.Collection.extend({ 
    model: UserCard, 
    url: '/odata/UserCards' 
}); 
지금

지금은 다음과 같은 응답 변경 될 때까지이 컬렉션 채워 받고 :

{ 
"odata.metadata":"http://website.com:53176/odata/$metadata#UserCards", 
"value":[{...},{...}...] 
} 

을 때 나는 collection.fetch 메소드를 호출하면이 응답과 호환되지 않는 위 모델을 내 모델에 넣으려고합니다. 그러나 모델은 위 json의 value 속성 내에 포함 된 것과 호환됩니다.

완전한 응답 대신 value 속성에서 내 모델을로드 할 수있는 방법이 있는지 알고 싶습니다.

답변

2

모델/컬렉션에 대해 parse() 메서드를 재정의 할 수 있습니다. 예 :

parse: function(data) { 
    return data.value; 
} 

parse는 방법 백본은 서버에서 데이터를 검색 할 때,

+0

Backbone docs here 다만 그것을 시도하고 일하고있어 참조 호출이다. 고마워 :) – sttaq

+0

걱정 마. 행복한 백본. – Twicetimes

+0

지금까지 내 백본을 파괴하고 있습니다. S – sttaq

관련 문제