Backbone - 如何在主视图元素中显示div内的集合,如何构建页面?

时间:2012-08-04 09:19:11

标签: backbone.js

我想设计一个简单的页面。一张抽认卡清单。

在此我有一个左侧的类别列表和右侧的选定类别的抽认卡。上面我有两种形式:添加类别并添加闪卡。

问题在于我拥有主视图#flashcards,其中包含了所有内容。

(1)如何在一些内部div中显示flashcard集合。 (2)也许我不应该在一个“主视图”中拥有它?你将如何构建这样的屏幕,以便所有人都可以一起工作?

1 个答案:

答案 0 :(得分:2)

正如您所说,仅在一个视图中使用所有逻辑并不是实现页面的正确方法。

通常当您使用Backbone进行设计,并开始创建所有需要的元素时,您最终会有比您预期更多的类。

在你的例子中,我建议:

  • 卡的型号
  • 收集页面中所有卡片的收藏
  • CardView 页面中每张卡的一个视图。它将render卡片,并将通过其卡片收听用户活动,例如clickremove等。
  • CardsView 它引用了卡片集合,并由Collection中的每个元素负责render一个CardView。此外,还将收听Collection中的更改,以查看是否必须呈现新卡。
  • CategorySearchView 收听类别搜索表单中的事件,根据类别查询获取新卡片。或者向Cards集合发送指令以将属性更改为模型,以便显示或隐藏它们。
  • CategoryCreateView 听取卡片创建表单中的事件,创建新的卡片模型将它们发送到服务器并将它们添加到卡片集合中。
  • AppView 主视图以统治所有