集合(Collection)
集合是有序的模型集。 我们只需要扩展骨干的集合类来创建我们自己的集合。 在集合中的模型上触发的任何事件也将直接在集合上触发。 这允许您侦听集合中任何模型中特定属性的更改。
下表列出了可用于操作BackboneJS-Collection的所有方法 -
S.No. | 方法和描述 |
---|---|
1 | extend 扩展主干的集合类以创建集合。 |
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 它用于通过使用idor cid从集合中检索模型。 |
12 | at 使用指定的索引从集合中检索模型。 |
13 | push 它类似于add()方法,它接受模型数组并将模型推送到集合中。 |
14 | pop 它类似于remove()方法,它接受模型数组并从集合中删除模型。 |
15 | unshift 在集合的开头添加指定的模型。 |
16 | shift 它从集合中删除第一个项目。 |
17 | slice 显示集合模型中元素的浅表副本。 |
18 | length 计算集合中的模型数量。 |
19 | comparator 它用于对集合中的项目进行排序。 |
20 | sort 对集合中的项目进行排序,并使用比较器属性对项目进行排序。 |
21 | pluck 从集合中的模型中检索属性。 |
22 | where 它用于通过使用集合中的匹配属性来显示模型。 |
23 | findWhere 它返回与集合中指定属性匹配的模型。 |
24 | url 它创建集合的实例并返回资源所在的位置。 |
25 | parse 通过传递响应对象返回集合的数据,并以JSON格式表示数据。 |
26 | clone 它返回指定对象的浅表副本。 |
27 | fetch 它使用sync方法从集合中的模型中提取数据。 |
28 | create 它在集合中创建模型的新实例。 |
下划线方法
下表列出了Underscore.js方法,这些方法提供了在Backbone.Collection上使用的功能。
S.No. | 方法和描述 |
---|---|
1 | _.each(list, iteratee, [context]) 使用iteratee函数迭代集合中的每个元素。 |
2 | _.map(list, iteratee, [context]) 它映射每个值并使用iteratee函数将它们显示在新的值数组中。 |
3 | _.reduce(list, iteratee, memo, [context]) 它将值列表缩减为单个值,也称为inject和foldl 。 |
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) 它使用methodName()对列表中的每个值调用方法名称。 |
12 | _.max(list, [iteratee], [context]) 它指定列表中的最大值。 |
13 | _.min(list, [iteratee], [context]) 它指定列表中的最小值。 |
14 | _.sortBy(list, [iteratee], [context]) 它通过使用列表中的iteratee以升序返回已排序的元素。 |
15 | _.groupBy(list, [iteratee], [context]) 它将集合值划分为集合,使用列表中的iteratee进行分组。 |
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) 它返回一个包装对象。 |