0

我想设计一个简单的页面。抽认卡列表。

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

问题是我有主视图#flashcards,其中我拥有一切。

(1) 如何在一些div里面显示抽认卡集合。(2) 也许我不应该在一个“主视图”中拥有所有内容?您将如何构建这样的屏幕以使所有屏幕都能协同工作?

4

1 回答 1

2

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

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

在您的示例中,我将建议:

  • 卡片 型号
  • Cards Collection 存储页面中的所有卡片
  • CardView 页面中每张卡片的一个视图。它将render卡并将通过其卡监听用户事件,例如clickremove等等。
  • CardsView 引用卡片的Collection,由Collection中render的每个元素负责一个CardView。还将监听集合中的更改以查看它是否必须渲染新卡。
  • CategorySearchView 监听类别搜索表单中的事件,根据类别查询获取新卡片。或者向 Cards 集合发送指令以将属性更改为模型,以便可以显示或隐藏它们。
  • CategoryCreateView 监听卡片创建表单中的事件,创建新的 Card 模型将它们发送到服务器并将它们添加到 Cards 集合中。
  • AppView 一个主视图来统治它们
于 2012-08-04T10:13:23.317 回答