Home » Backbone.js Collection

Backbone.js Collection

by Online Tutorials Library

Backbone.js Collection

A collection is an ordered set of models.

It is used to deal with a group of related models.

It handles the loading and saving of new models to the server.

It provides helper functions to perform aggregation and computation against a list of models.

You can create your own collection by extending the backbone’s collection class.

If an event is triggered on a model in a collection then this will also be triggered on the collection directly. It facilitates you to listen for changes to specific attributes in any model in a collection.

Following is a list of methods that can be used to manipulate the Backbone.js collection:

Index Method Description
1. extend It is used to extend the backbone’s collection class to create an own collection.
2. model It is used to specify the model class. You need to override the model property of the collection class.
3. initialize Initialize function is defined to create a model instance.
4. models It specifies the array of models which are created inside of the collection.
5. toJSON It returns the copy of the attributes of a model using JSON format in the collection.
6. sync It specifies the state of the model and uses backbone.sync to display the state of the collection.
7. add It is used to add a model or array of models to the collection.
8. remove It removes a model or array of models from the collection.
9. reset It resets the collection and populates with new array of models or empty the entire collection.
10. set It is used to update the collection with set of items in a model. If any new model is found, the items will be added to that model.
11. get It is used to retrieve the model from a collection by using id or Cid.
12. at It is used to retrieve the model form a collection by using specified index.
13. push It is similar to add() method which takes array of models and push the models to the collection.
14. pop It is similar to remove() method which takes array of models and remove the models from the collection.
15. unshift It is used to add specified model at the beginning of a collection.
16. shift It is used to remove the first item from the collection.
17. slice It is used to display the shallow copy of the elements from the collection model.
18. length It is used to count the number of models in the collection.
19. comparator It sorts the items in the collection.
20. sort It is used to sort the items in the collection. it also uses comparator property in order to sort the items.
21. pluck It is used to retrieve the attributes from the model in the collection.
22. where It is used to display the model by using the matched attribute in the collection.
23. findWhere It is used to return the model that matches the specified attribute in the collection.
24. url It creates an instance of the collection and returns where resource is located.
25. parse It returns the collection’s data by passing through the response object and represents the data in JSON format.
26. clone It is used to return the shallow copy of the specified object.
27. fetch It uses the sync method to extract data from the model in the collection.
28. create It creates new instance of the model in the collection.

Underscore Methods:

The following table specifies underscore.js methods which provide their functionality to be used on the Backbone.Collection.

Index Method Description
1. _.each(list, iteratee, [context]) It iterates each of the elements in the collection using iteratee function.
2. _.map(list, iteratee, [context]) It maps each value and displays them in a new array of values using iteratee function.
3. _.reduce(list, iteratee, memo, [context]) It is used to reduce list of values into single value. It is also known as inject and foldl.
4. _.reduceright(list, iteratee, memo, [context]) It is right associative version of reduce.
5. _.find(list, predicate, [context]) It finds each value and returns the first one which passes the predicate or test.
6. _.filter(list, predicate, [context]) It filters each value and returns the array of values which passes the predicate or test.
7. _.reject(list, predicate, [context]) It returns the rejected elements in the list which doesn’t pass the predicted values.
8. _.every(list, predicate, [context]) It returns true, if elements in the list pass the predicted values.
9. _.some(list, predicate, [context]) It returns true, if elements in the list pass the predicted values.
10. _.contains(list, value, [fromindex]) It returns true, if value present in the list.
11. _.invoke(list, methodname, *arguments) It invokes the method name using method name() on each value in the list.
12. _.max(list, [iteratee], [context]) It specifies the maximum value in the list.
13. _.min(list, [iteratee], [context]) It specifies the minimum value in the list.
14. _.sortby(list, [iteratee], [context]) It returns the sorted elements in ascending order by using iteratee in the list.
15. _.groupby(list, [iteratee], [context]) It divides the collection values into sets, grouped by using iteratee in the list.
16. _.shuffle(list) It returns shuffled copy of the list.
17. _.toarray(list) It defines an array of the list.
18. _.size(list) It defines the number of values in the list.
19. _.first(array, [n]) It specifies the first element of the array in the list.
20. _.initial(array, [n]) It returns everything, but specifies the last entry of the array in the list.
21. _.last(array, [n]) It specifies the last element of the array in the list.
22. _.rest(array, [index]) It defines rest of the elements in the array.
23. _.without(array, *values) It returns values of all instances which are removed in the list.
24. _.indexof(array, value, [issorted]) It returns value if it found at specified index or returns -1, if it is not found.
25. _.indexof(array, value, [fromindex]) It returns last occurrence of the value in the array or returns -1, if it is not found.
26. _.isempty(object) It returns true if there are no values in the list.
27. _.chain(obj) It is used to return a wrapped object.

You may also like