Backbone.js 集合

2024 年 8 月 29 日 | 5 分钟阅读

集合是有序的模型集合。

它用于处理一组相关的模型。

它处理将新模型加载和保存到服务器。

它提供辅助函数来对模型列表执行聚合和计算。

您可以通过扩展 backbone 的集合类来创建您自己的集合。

如果在集合中的模型上触发事件,则也会直接在集合上触发该事件。它有助于您监听集合中任何模型中特定属性的更改。

以下是可以用来操作 Backbone.js 集合的方法的列表

索引方法描述
1.extend它用于扩展 backbone 的集合类以创建自己的集合。
2.model它用于指定模型类。您需要覆盖集合类的 model 属性。
3.initialize定义 Initialize 函数以创建模型实例。
4.models它指定在集合中创建的模型数组。
5.toJSON它使用 JSON 格式返回集合中模型的属性的副本。
6.sync它指定模型的状态并使用 backbone.sync 来显示集合的状态。
7.add它用于将模型或模型数组添加到集合中。
8.remove它从集合中删除一个模型或模型数组。
9.reset它重置集合并填充新的模型数组或清空整个集合。
10.set它用于使用模型中的一组项目更新集合。如果找到任何新模型,则会将项目添加到该模型中。
11.get(到达)它用于通过使用 id 或 Cid 从集合中检索模型。
12.at它用于通过使用指定的索引从集合中检索模型。
13.push它类似于 add() 方法,该方法接受模型数组并将模型推送到集合中。
14.pop它类似于 remove() 方法,该方法接受模型数组并从集合中删除模型。
15.unshift它用于将指定模型添加到集合的开头。
16.shift它用于从集合中删除第一个项目。
17.slice它用于显示来自集合模型的元素的浅层副本。
18.length它用于计算集合中模型的数量。
19.comparator它对集合中的项目进行排序。
20.排序它用于对集合中的项目进行排序。它还使用 comparator 属性来对项目进行排序。
21.pluck它用于从集合中的模型中检索属性。
22.其中它用于通过使用集合中的匹配属性来显示模型。
23.findWhere它用于返回与集合中指定的属性匹配的模型。
24.url它创建集合的实例并返回资源所在的位置。
25.parse它通过响应对象传递并以 JSON 格式表示数据来返回集合的数据。
26.clone它用于返回指定对象的浅层副本。
27.fetch它使用同步方法从集合中的模型中提取数据。
28.create它在集合中创建模型的新实例。

Underscore 方法

下表指定了 underscore.js 方法,这些方法提供了在 Backbone.Collection 上使用的功能。

索引方法描述
1._.each(list, iteratee, [context])它使用 iteratee 函数迭代集合中的每个元素。
2._.map(list, iteratee, [context])它映射每个值并使用 iteratee 函数将它们显示在新值数组中。
3._.reduce(list, iteratee, memo, [context])它用于将值列表减少为单个值。它也被称为注入和折叠左。
4._.reduceright(list, iteratee, memo, [context])它是 reduce 的右结合版本。
5._.find(list, predicate, [context])它找到每个值并返回通过谓词或测试的第一个值。
6._.filter(list, predicate, [context])它过滤每个值并返回通过谓词或测试的值数组。
7._.reject(list, predicate, [context])它返回列表中未通过预测值的被拒绝的元素。
8._.every(list, predicate, [context])如果列表中的元素通过了预测值,则它返回 true。
9._.some(list, predicate, [context])如果列表中的元素通过了预测值,则它返回 true。
10._.contains(list, value, [fromindex])如果列表中存在值,则返回 true。
11._.invoke(list, methodname, *arguments)它使用方法名()在列表中的每个值上调用方法名。
12._.max(list, [iteratee], [context])它指定列表中的最大值。
13._.min(list, [iteratee], [context])它指定列表中的最小值。
14._.sortby(list, [iteratee], [context])它使用列表中的迭代器按升序返回排序的元素。
15._.groupby(list, [iteratee], [context])它通过使用列表中的迭代器将集合值分组到集合中。
16._.shuffle(list)它返回列表的随机复制。
17._.toarray(list)它定义了列表的数组。
18._.size(list)它定义了列表中值的数量。
19._.first(array, [n])它指定列表中数组的第一个元素。
20._.initial(array, [n])它返回除数组的最后一个条目之外的所有内容,并指定数组的最后一个条目。
21._.last(array, [n])它指定列表中数组的最后一个元素。
22._.rest(array, [index])它定义了数组中其余的元素。
23._.without(array, *values)它返回从列表中删除的所有实例的值。
24._.indexof(array, value, [issorted])如果找到该值,则返回该值,如果未找到,则返回 -1。
25._.indexof(array, value, [fromindex])它返回数组中该值的最后一次出现,如果未找到,则返回 -1。
26._.isempty(object)如果列表中没有值,则返回 true。
27._.chain(obj)它用于返回一个封装的对象。