2014-09-06 80 views
0

过去几周我一直在学习backbone.js,并且即将开始在我正在编写的应用程序中使用它。我的问题是关于Bootstrap 3导航栏中模型和集合的用例。backbone.js模型和集合的最佳实践

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

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

所以,要说到点......我过分复杂的东西?包含模型的集合,每个模型都包含其他模型的集合,每个模型都映射到在主页上呈现a的视图。似乎对我很复杂,但从我对backbone.js的(尽管有限的)理解来看,似乎确实是这样做的正确方法......?

建议从那些比我更有经验(战斗伤痕?!)比我更赞赏谢谢。

回答

0

使用集合,当它将为普通模型提供某些好处时。好处可能是要么

  1. 与RESTful服务,你会希望不只是获取数据的列表,但随后分别获取/修改/添加/删除个别项目的交互是该列表
  2. 定义单独View s列表中的每个项目,而不是有一个遍历列表的单个View

我不认为一个基本的导航条受益于这两者之一。如果你的导航栏有一些超链接的超级花式元素,那么#2适用,但保持简单,使用单一模型和单个视图/模板