Javascript 模型选项的Backbone.js集合

Javascript 模型选项的Backbone.js集合,javascript,backbone.js,collections,Javascript,Backbone.js,Collections,我有一个表单,用户可以在其中创建一个新模型。该模型有许多潜在属性,表单需要列出用户可以为此模型选择为“活动”的所有选项 我想知道我应该如何管理选项的集合。我认为有两种不同的方式: 1) 将一个集合与表单一起附加到视图,并在模型上附加另一个集合。当列表中的项目在视图中被选中时,这些项目将被复制到模型中的集合中 2) 在模型上有一个集合,并将项目标记为“已选择”或“未选择”,因此我只有一个集合,在显示为该模型选择了什么和没有选择什么时,不需要比较两个不同的集合 我认为第一个选项更“合适”,因为我在模

我有一个表单,用户可以在其中创建一个新模型。该模型有许多潜在属性,表单需要列出用户可以为此模型选择为“活动”的所有选项

我想知道我应该如何管理选项的集合。我认为有两种不同的方式:

1) 将一个集合与表单一起附加到视图,并在模型上附加另一个集合。当列表中的项目在视图中被选中时,这些项目将被复制到模型中的集合中

2) 在模型上有一个集合,并将项目标记为“已选择”或“未选择”,因此我只有一个集合,在显示为该模型选择了什么和没有选择什么时,不需要比较两个不同的集合


我认为第一个选项更“合适”,因为我在模型中只有合法地属于模型的数据,应该发送到服务器保存。如果我有完整的“选定”内容,我需要在节省时间时对这些数据进行排序,以确定发送到服务器的内容。

我建议您使用两种不同的型号。一个是父模型,一个是选项模型。这两种类型都有相应的集合

父模型中将包含嵌套的选项集合。这是主干网中的基本多对多实现


我总是非常渴望让我的模型和收藏反映真实的关系。在这里,如果你认为选项是适当的实体,他们自己的使用,那么我会考虑为他们创建模型。 是否要为特定模型的属性创建主干集合?我鼓励采用另一种方法,因为集合实际上是设计为具有服务器端关联的模型集合。相反,我会在您的模型中指定一组可能的属性,或者从服务器响应中提取这些属性,将它们显示在您的表单中,然后在创建新模型时将所选属性添加到您的新模型中。虽然它们可能不是完整的模型,但我将在应用程序的其他位置保存和更新它们,属性/选项非常广泛,并且根据所选的“父”属性而有所不同。将它们直接放在模型中并不能真正起作用,而且在模型中有一堆请求来获取这些选项有点混乱。对集合使用“伪”模型使管理选项变得更加容易。除了下划线提供的枚举数外,主干模型/集合的哪些功能有助于实现这一点?Backbone.Collection.update()?奇怪的是,我不一定需要特定的主干集合特性,而是这些“选项”表示我将在应用程序的其他地方使用的静态实体,而不仅仅是这个模型的形式。