我已经到了我的应用程序中的一个地方,我无法决定应该使用哪种类型的JSON结构。我的应用程序有像下面多重嵌套视图 -使用backbone和json
-pageView
-sectionView
-articleView
-widgetView
-sectionView
-articleView
-widgetView
-widgetView
-articleView
-widgetView
目前我使用的是包含在一个所有的浏览量,而在另一个所有sectionViews ......等单JSON文件。这是因为我严重依赖Backbone Collections来对我的模型进行排序并呈现每个视图。但显然,对于这种类型的结构,我只是为了页面视图而进行四次抓取。 (这甚至不是我的应用程序)。我在我的应用程序的开始处获取所有这些内容,因为它们是搜索工具所需的并显示完成状态。每个模型都知道它是父级,这就是它可以被插入到父级容器中的方式。
在另一方面,我可以用一个大的嵌套的JSON文件,其中包含一切,会是这个样子:
{
"page":"page_05",
"title":"Title of page",
...
"sections":[
{
"section":"section_05",
"title":"section title",
"articles":[
{
"article":"article_05",
"title":"article title",
"widgets":[
{
"widget":"widget_05",
...
}
]
}
]
},
{
"section":"section_10"
...
}
]
我不介意,我构建它,因为我可以简单地把我的数据哪种方式在收藏。这似乎有点奇怪,必须编写函数,如果我使用单个JSON文件,Backbone抓取已经做到了这一点。我想我问的是......有没有人遇到过这个问题,以及解决方案是什么?任何想法或演示都是一如既往的欢迎。提前致谢。
这听起来很像我的问题。不过,我只是有一个想法。骨干保存让我可以保存我的藏品,不用大惊小怪。如果我沿着你提到的路线走下去,我将如何将我的藏品保存回一个大的JSON文件中? – darylhedley 2013-04-26 21:22:18
您可以重写collection.sync以执行任何您想要的操作。更好的方法是使用内置骨干行为并在添加项目时调用collection.create(model),并将model.save绑定到适用于您的应用程序的任何事件。 – 2013-04-27 02:24:50