Backbone.js 如何在主干模型中构造灵活的模型添加/删除

Backbone.js 如何在主干模型中构造灵活的模型添加/删除,backbone.js,structure,backbone.js-collections,conceptual,Backbone.js,Structure,Backbone.js Collections,Conceptual,这个问题是概念性的,希望不会引起大惊小怪 我对主干相当陌生,尤其是在决定什么应该是模型,什么不应该是模型时。我正在尝试做一些类似于行为的事情,一张卡片可能有也可能没有一组UI功能,比如清单、截止日期、成员等等我的问题是: 有谁能提供一些关于如何构建“卡”到“零件”关系的想法,让我能够从一个更大的母公司添加/删除单个组件。我目前将一个UI部件(即检查表)描绘为它自己的模型,但不确定如何将其连接到父卡,父卡可能也是一个模型 我了解模型、视图和集合,但由于缺乏经验,我无法确定应用程序组件应该是什么,以

这个问题是概念性的,希望不会引起大惊小怪

我对主干相当陌生,尤其是在决定什么应该是模型,什么不应该是模型时。我正在尝试做一些类似于行为的事情,一张卡片可能有也可能没有一组UI功能,比如清单、截止日期、成员等等我的问题是:

有谁能提供一些关于如何构建“卡”到“零件”关系的想法,让我能够从一个更大的母公司添加/删除单个组件。我目前将一个UI部件(即检查表)描绘为它自己的模型,但不确定如何将其连接到父卡,父卡可能也是一个模型


我了解模型、视图和集合,但由于缺乏经验,我无法确定应用程序组件应该是什么,以及如何构建关系。我不是在寻找“正确”的答案,因为方法会有所不同,但更重要的是,要深入了解人们是如何构建他们的设置的,以及通常的做法是什么。

很难给出一个比“视情况而定”更明确的答案。在UI端,您可能会有一个父级
视图,然后是扩展
视图的视图,如
列表卡
检查卡
文本卡
。这允许您使用卡片视图的组件进行干燥,这些组件在不同类型的卡片(拖放、删除等)中仍然有用,但也可以为视图子类中的每种类型的视图实现自定义行为(如模板或接口功能)


在模型方面,我假设每一张卡的底层都有一个非常不同的数据结构,因此,出于这个原因,我可能会尝试为每一种卡类型创建一个不同的模型。但这最终将取决于您希望如何构建数据库,以及卡类型背后的数据将有多大不同。

如果有人无意中发现了这一点并提出了类似的问题,我缺少的概念是一个控制器,这是有意义的,因为默认情况下BB中没有这些控制器


我需要一些东西来保存对小部件的引用,这些小部件可能会也可能不会被任意添加到“卡片”中。在这种情况下,一个集合似乎不太正确,但一个自行创建的控制器类就可以做到这一点。

因此,以下是让我对Trello的概念感到困惑的事情。如果卡被锁定为显式类型(成员、清单),那么您的方法完全有效,但是Trello允许您添加/删除您认为合适的特殊扩展。一张卡片可能有任意数量的“扩展”字段排列,将每个组合作为扩展类似乎并不合理。这就像他们根据用户想要包含的内容动态修改卡片“数据”结构一样。举例来说,我可以有一张卡片[默认+成员]或[默认+成员+图像]或[默认+检查表+图像]或[默认+决战日期+检查表]——核心扩展是检查表/图像/决战日期。。。但是你可以将这些元素的任意组合添加到一张卡片上,制作一个扩展类来解释每一个组合会让你感觉不对劲。。。代码复制恐怖。。。。