BackboneJS - 集合



集合是有序的模型集。我们只需要扩展 Backbone 的集合类来创建我们自己的集合。在集合中,触发模型上的任何事件也会直接触发集合上的事件。这允许您监听集合中任何模型中特定属性的更改。

下表列出了您可以用来操作 BackboneJS 集合的所有方法:

序号 方法和描述
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 sort

对集合中的项目进行排序,并使用 comparator 属性来对项目进行排序。

21 pluck

从集合中的模型中检索属性。

22 where

它用于使用集合中匹配的属性来显示模型。

23 findWhere

它返回与集合中指定的属性匹配的模型。

24 url

它创建集合的实例并返回资源所在的位置。

25 parse

通过响应对象传递集合的数据并以 JSON 格式表示数据。

26 clone

它返回指定对象的浅拷贝。

27 fetch

它使用 sync 方法从集合中的模型中提取数据。

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])

它将值列表减少为单个值,也称为injectfoldl

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])

它使用列表中的迭代器按升序返回排序的元素。

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)

它返回一个包装对象。

广告