【问题标题】:Best practice for backbone.js models and collectionsBackbone.js 模型和集合的最佳实践
【发布时间】:2014-09-06 19:07:12
【问题描述】:

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

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

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

那么,直奔主题……我是不是把事情复杂化了?包含模型的集合,每个模型都包含其他模型的集合,每个模型都映射到在主页上呈现 a 的视图。对我来说似乎很复杂,但从我(虽然有限)对backbone.js的理解来看,这似乎是正确的方法......?

非常感谢那些比我更有经验(战斗伤痕累累?!)的人的建议。谢谢。

【问题讨论】:

    标签: backbone.js backbone.js-collections


    【解决方案1】:

    当集合比普通模型更能为您提供一些好处时,请使用集合。好处可能是

    1. 与 RESTful 服务交互时,您不仅需要获取数据列表,还需要单独获取/修改/添加/删除单个项目就是该列表
    2. 为列表中的每个项目定义单独的 Views,而不是使用单个 View 来遍历列表。

    我认为基本的导航栏不会从其中任何一个中受益。如果您的导航栏除了链接之外还有一些超级花哨的元素,那么也许 #2 适用,但要保持简单,请使用带有单个视图/模板的单个模型

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 2010-09-18
      • 2010-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多