2013-03-07 48 views
2

因此,我为我的Web应用程序使用Backbone,并且无法弄清楚如何使用嵌套模型。我有一个基于Java类卫生组织JSON会是这个样子的模型:Backbone嵌套模型...它们是如何工作的?

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

目前,我有一个端点设置并为AdminSettings骨干模型对象。我想知道是否有一种特定的方式来获得AdminSettings中对象的所有主干优势。例如,目前我必须使用:

adminSettings.get("defaultValues").shareable 

但我想用:

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

这不是我想要得到的唯一好处,只是一个例子。

所以是的,这将是一个好方法。我正在考虑为每个嵌套对象创建一个骨干模型,并为每一个嵌套对象设置端点,但我并不完全确定。无论如何,感谢您的期待。

+1

可能重复(http://stackoverflow.com/questions/8769649/backbone-model-nested-data - 结构) – tkone 2013-03-07 14:00:20

+0

感谢您的链接! – Cristiano 2013-03-07 14:01:30

回答

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; 
    } 
}); 
[骨干型号:嵌套的数据结构]的