过去几周我一直在学习backbone.js,我即将开始在我写作的app中愤怒地使用它。我的问题是关于Bootstrap 3导航栏中模型和集合的用例。
在我的服务器端,我对用户进行身份验证,并根据他们的个人资料为他们分配一个角色(作者,编辑,管理员等)。然后,我构造一个对象,其中包含用户角色的相应菜单结构,并使用Handlebars将其传递给客户端。目的是让浏览器构造HTML以根据使用主干的对象中的属性(键/值)来呈现菜单。
我的想法是导航栏本身就是模型的集合(导航栏);导航栏上的每个下拉菜单或链接都是单个模型(navbarItem);其中每个都包含一组菜单项(navbarItemMembers),这些集合是每个菜单项(navbarItemMember)的模型。然后,我可以针对每个navbarItemMember设置事件侦听器,以根据需要触发适当的路径或渲染操作。
所以,说到点......我是不是太复杂了?包含模型的集合,每个模型包含其他模型的集合,每个模型映射到在主页面上呈现a的视图。似乎对我来说很复杂,但是从我对骨干的理解(尽管有限)看来,这似乎是正确的方法......?
那些经验丰富(战斗伤痕累累?!)的建议比我更感谢。谢谢。
答案 0 :(得分:0)
使用集合时,它会为普通模型带来一些好处。好处可能是
View
,而不是在列表上迭代一个View
。我认为基本的导航栏不会从中受益。如果您的导航栏中有一些超出链接的超级花哨元素,那么可能#2适用但是保持简单,使用单个模型和单个视图/模板