所以我在我的网络应用程序中使用Backbone而且我无法弄清楚如何使用嵌套模型。我有一个基于Java类的模型,JSON看起来像这样:
"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")
这不是我想要获得的唯一好处,只是一个例子。
所以,是的,这将是一个很好的方式。我正在考虑为每个嵌套对象制作一个骨干模型,并为每个嵌套对象设置端点,但我不完全确定。无论如何,谢谢你的期待。
答案 0 :(得分: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;
}
});