backbone.js模型和集合的最佳实践

时间:2014-09-06 19:07:12

标签: backbone.js backbone.js-collections

过去几周我一直在学习backbone.js,我即将开始在我写作的app中愤怒地使用它。我的问题是关于Bootstrap 3导航栏中模型和集合的用例。

在我的服务器端,我对用户进行身份验证,并根据他们的个人资料为他们分配一个角色(作者,编辑,管理员等)。然后,我构造一个对象,其中包含用户角色的相应菜单结构,并使用Handlebars将其传递给客户端。目的是让浏览器构造HTML以根据使用主干的对象中的属性(键/值)来呈现菜单。

我的想法是导航栏本身就是模型的集合(导航栏);导航栏上的每个下拉菜单或链接都是单个模型(navbarItem);其中每个都包含一组菜单项(navbarItemMembers),这些集合是每个菜单项(navbarItemMember)的模型。然后,我可以针对每个navbarItemMember设置事件侦听器,以根据需要触发适当的路径或渲染操作。

所以,说到点......我是不是太复杂了?包含模型的集合,每个模型包含其他模型的集合,每个模型映射到在主页面上呈现a的视图。似乎对我来说很复杂,但是从我对骨干的理解(尽管有限)看来,这似乎是正确的方法......?

那些经验丰富(战斗伤痕累累?!)的建议比我更感谢。谢谢。

1 个答案:

答案 0 :(得分:0)

使用集合时,它会为普通模型带来一些好处。好处可能是

  1. 与RESTful服务进行交互,您不仅要获取数据列表,还要单独获取/修改/添加/删除单个项目,该列表
  2. 为列表中的每个项目定义单独的View,而不是在列表上迭代一个View
  3. 我认为基本的导航栏不会从中受益。如果您的导航栏中有一些超出链接的超级花哨元素,那么可能#2适用但是保持简单,使用单个模型和单个视图/模板