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)

它返回一個包裝物件。

廣告