2013-03-07 13 views
2

그래서 웹 응용 프로그램에 백본을 사용하고 중첩 모델을 사용하는 방법을 파악하는 데 문제가 있습니다.백본 중첩 모델 ... 어떻게 작동합니까?

"AdminSettings": 
{ 
    "defaults": { 
     "deletable":true, 
     "transferable":false; 
     "issueLimit":1 
    } 
    "displaySettings": { 
     "tabs":2, 
     "amounts:[10,20] 
    } 
} 

는 현재, 내가 엔드 포인트가 설정하고 AdminSettings을위한 백본 모델 객체를 가지고 : I는 다음과 같이 보일 것이다 JSON whos는 자바 클래스를 기반으로 모델을 가지고있다. 내가 AdminSettings 내부 개체에 대한 모든 백본 혜택을 얻을 수있는 구체적인 방법이 있는지 궁금 해서요. 예를 들어, 현재 내가 사용해야합니다 :

adminSettings.get("defaultValues").shareable 

을하지만 내가 사용하려는 :

adminSettings.get("defaultValues").get("shareable") 

이 내가 얻기 위해 노력하고있어에만 혜택, 그냥 예 아니다.

그래,이 문제를 해결하려면 좋은 방법이 될 것입니다. 중첩 된 객체 각각에 대해 백본 모델을 만들고 그 각각에 대해 끝점을 설정하는 것을 생각했지만 완전히 확신 할 수는 없습니다. 어쨌든, 고마워.

당신은 자신 만의 백본 파서를 작성할 수
+1

가능한 중복 (http://stackoverflow.com/questions/8769649/backbone-model-nested-data 구조) – tkone

+0

링크를 가져 주셔서 감사합니다! – Cristiano

답변

2

:

var DisplaySettingsModel = Backbone.Model.extend({}); 
var DefaultValuesModel = Backbone.Model.extend({}); 

var AdminSettingsModel = Backbone.Model.extend({ 

    model: { 
     defaultValues: DefaultValuesModel 
     displaySettings: DisplaySettingsModel 
    }, 

    parse: function(response){ 
     response["defaultValues"] = new DefaultValuesModel(response["defaultValues"], {parse:true}); 
     response["displaySettings"] = new DisplaySettingsModel(response["displaySettings"], {parse:true}); 
     return response; 
    } 
}); 
[백본 모델 : 중첩 된 데이터 구조]의