【发布时间】:2014-08-11 11:19:00
【问题描述】:
我有一个可以用以下 JSON 模型表示的时事通讯。我想构建一个时事通讯编辑器,它允许拖放移动条目(文章),以及添加新条目的能力。最终,JSON 将通过 API 保存到数据库中。
var newsletter = new Newsletter({
id : 1,
title : 'Newsletter 1',
date : '17.08.2014',
sections : [
{ title : 'Lorem ipsum dolor sit amet',
color : '831b12',
subsections : [
{ title : 'Lorem ipsum dolor sit amet',
entries : [
{ title : 'Lorem ipsum dolor sit amet',
intro : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lacus mi, ullamcorper id mi non, dign...',
url : '#'
},
{ title : 'Lorem ipsum dolor sit amet',
intro : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lacus mi, ullamcorper id mi non, dign...',
url : '#'
}
]
},
{ title : 'Lorem ipsum dolor sit amet',
entries : [
{ title : 'Lorem ipsum dolor sit amet',
intro : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lacus mi, ullamcorper id mi non, dign...',
url : '#'
},
{ title : 'Lorem ipsum dolor sit amet',
intro : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lacus mi, ullamcorper id mi non, dign...',
url : '#'
},
{ title : 'Lorem ipsum dolor sit amet',
intro : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lacus mi, ullamcorper id mi non, dign...',
url : '#'
}
]
}
]
}
]
});
我不清楚我是否需要单个 Backbone 模型、Newsletter,或者是否需要每个“层”(即 newsletter、section、subsection、entry)的模型,然后以某种方式对关系进行建模?我看到了 Backbone Relational 的链接,这听起来很有希望,但我不确定这个应用程序是否需要它。
到目前为止,我看到的大部分教程似乎都侧重于集合中具有单层待办事项的待办事项样式应用程序。我想一个时事通讯可以被认为是一个部分的集合,一个部分是一个小节的集合等。这是正确的路径吗?
谢谢:)
【问题讨论】:
-
我看到集合不能有其他属性,所以我猜newsletter、section、subsection和entry都需要是模型
-
我也面临类似的情况。我没有选择骨干关系,因为我认为我可能会失去对如何查看数据关系的控制。您总是可以像 php 一样执行子查询。唯一要记住的是,javascript 是异步的
标签: json backbone.js model relationships