繁体   English   中英

Backbone.js系列

[英]Backbone.js collection

我是 backbone.js 的初学者

为什么要使用 COLLECTION?

您不能只拥有与每个 model 关联的视图吗?

此外,与 model 集合的事件绑定是否适用于所有型号?

当您对大型数据集进行操作时,非常有必要拥有一种对整个数据集或子集执行操作的机制。 在 Backbone.js Collection class 中提供了这种机制。 Collection 的一些非常常见的用法可以概括如下:

  • 假设您正在从数据库中获取查询结果。 现在您可以创建一个对应于记录结构的 model,定义一个集合,创建一个集合实例,定义 url(如果需要,可以自定义 Z2705A83A5A0659CCE34583972637EDA.5Z 请求) 这对于拥有一组模型更有利:首先,它比遍历解析的 json 数据结构并从每条记录 object 中创建 model 更方便。 其次,整个集合可以立即更新到服务器。 正如马里奥所指出的,它使处理相关记录非常方便。

  • 其次,Collection class 为您提供了一个基础 class,您可以轻松地使用您的功能辅助它以提供自定义过滤和排序功能。

  • 你可以有视图,例如。 数据网格、树等来表示集合。 编写代码很方便,也可以根据表示集合的视图进行思考。

当您有嵌套模型时使用它们,请参阅http://documentcloud.github.com/backbone/#FAQ-nested

我想你可以有一个与每个 model 相关联的视图,但不一定。 不确定最后一部分,也许运行一个快速测试。

您可以使用集合来表示一对多关系。 当您的后端数据存储是文档数据库(具有嵌入式文档)时,这种类型的东西是完美的。

您还可以使用集合来允许对模型进行迭代。

由于model 只能属于单个集合,因此有时将集合视为数据库中的表几乎是有意义的。 在数据库中,我有一个 people 表。 在我的 javascript 中,我有一个人物收藏。

(The reason a model can only belong to a single collection is that upon adding a model to a collection the collection stores a reference to itself directly on the model. Adding a model to a second collection would overwrite the model's reference to the first collection. )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM