Backbone.js collection
Backbone.js collection
我是一个初学者。js
为什么要使用COLLECTION?
你就不能有一个与每个模型相关联的视图吗?
同样,绑定到模型集合的事件是否适用于所有模型?
当你在操作大型数据集时,有一种机制来对整个数据集或子集执行操作是非常必要的。在Backbone.js中,Collection类提供了这种机制。集合的一些非常常见的用法可以概括如下:
-
假设您正在从数据库中获取查询结果。现在,您可以创建与记录结构相对应的模型,定义集合,创建集合实例,定义url(如果需要,还可以自定义ajax请求),然后调用fetch。这比拥有一个模型数组更有利:首先,它比遍历解析过的json数据结构并从每个记录对象创建一个模型更方便。其次,整个集合可以立即更新到服务器。正如Mario指出的那样,它使得处理相关记录非常方便。
-
其次,Collection类为您提供了一个基类,您可以轻松地辅助您的函数来提供自定义过滤和排序功能。
-
你可以有视图eg。数据网格、树等来表示集合。这样既方便编写代码,也方便从表示集合的视图角度进行思考。
当您有嵌套模型时使用它们,参见http://documentcloud.github.com/backbone/#FAQ-nested
我想你可以有一个视图与每个模型相关联,但不一定。最后一部分不确定,也许运行一个快速测试。
您可以使用集合表示一对多关系。当您的后端数据存储是文档数据库(具有嵌入式文档)时,这种类型的事情是完美的。
您还可以使用集合来允许在模型上进行迭代。
由于模型只能属于单个集合,因此有时将集合视为数据库中的表几乎是有意义的。在数据库中,我有一个人员表。在我的javascript我有一个人的集合。
(模型只能属于单个集合的原因是,在将模型添加到集合中时,集合直接在模型上存储对自身的引用。将模型添加到第二个集合将覆盖模型对第一个集合的引用。
- Backbone.js Collection fetch()抛出未捕获类型错误:无法读取属性'idAttribu
- Backbone.js和undercore.js将其绑定到this.collection.add
- backbone.js collection.get() undefined
- this.collection.each不会以这种方式启动(backbone.js)
- 主干.js Collection.add() 不会“构造”(“初始化”)对象
- Collection.get returning undefined in backbone.js
- mongodb 的 collection.find() 在 Express app.js 文件中使用时出现问题
- 将 jQuery UI Sortable 的顺序保存到 Backbone.js Collection
- 我应该把Collection实例放在Backbone.js中的什么位置
- Filter Collection by Substring in Backbone.js
- 构造Collection后,让backbone.js运行函数
- Backbone.js:使用Ajax将数据绑定到Collection
- backbone.js collection-重复调用fetch以获取所有“;页面”;来自服务器
- 如何在 backbone.js collection.create 中触发“错误”回调
- 不要在Sails.js的collection属性中按id记录排序
- backbone.js collection where() function
- js filter collection返回一个对象,而不是一个集合
- 将Collection添加到meteor.js项目
- js collection不监听模型更改事件
- Backbone.js collection.on("add") not working