1

我正在使用 Backbone.JS 构建一个媒体播放器菜单,每个选项都有不同的较小选项,即随机播放可以有特定的间隔/整首歌曲等,重复一首歌曲或重复播放列表,下一个,上一个。

现在,我有一个名为 Menu 的 Backbone 模型,其中列出了所有这些选项。在阅读了更多内容之后,我意识到我应该为这些选项中的每一个设置单独的模型。但是在阅读了下面链接的帖子后,我有点困惑。我拥有的菜单选项不应该是一个集合,对吗?所以我对这些选项以及如何模板化每个选项有点困惑:

1) 将我的所有选项保存在 Menu 模型中,并相应地更新子视图 2) 每个选项都有一个单独的模型,并更新相应的视图 3) 拥有所有这些模型的集合,所以

相关:下划线 js 模板中的循环

4

2 回答 2

0

菜单本身很可能应该是一个集合,每个项目都应该是一个模型。

于 2013-01-24T01:34:12.270 回答
0

我认为您不一定需要为每个菜单选项设置多个模型。这完全取决于您希望如何构建代码。你真的可以做以下任何事情:

  1. 一个视图,根本没有模型(只是硬编码的菜单选项)
  2. 一个视图,一个模型
  3. 一个视图,每个菜单选项的单独模型
  4. 每个菜单选项一个视图,全部
  5. 每个菜单选项一个视图,每个都有自己的模型共享一个模型

以上任何一项都可能是您特定情况的最佳答案,但如果不了解更多详细信息(例如,哪些数据构成单个菜单选项,这些数据是否聚集在一起或作为多个 AJAX 调用的结果等),这很难提倡一个胜过另一个。

就我个人而言,我会从最简单的选项(#1)开始,一旦变得尴尬就切换到#2。然后如果#2变得尴尬,我会切换到#3或#4,依此类推。基本上,选择最简单的路径,不会让您希望选择更复杂的路径;-)

哦,如果你最终采用了多模型方法,那么将所有这些模型放在一个集合中肯定是有意义的。

于 2013-01-24T01:37:31.750 回答