[关闭]
@52fhy 2016-01-22T16:30:09.000000Z 字数 1119 阅读 480

05-backbone集合

backbone


backbone里的集合(collection)其实就是model的『集合』。

集合可以添加(add)model,也可以移除(remove)model。利用集合,我们可以方便的一次性遍历数据(遍历的结果就是一个个的model),或者更新数据。

下面例子演示了集合的基本操作。

  1. collection.add(model) //添加
  2. collection.remove(model) //移除
  3. collection.each(function(model, index){}); //遍历
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>title</title>
  5. <script src="lib/jquery-1.10.2.js"></script>
  6. <script src="lib/underscore.js"></script>
  7. <script src="lib/backbone.js"></script>
  8. </head>
  9. <body>
  10. <script>
  11. var book = Backbone.Model.extend({
  12. initialize: function(){
  13. //console.log('Hey , you create me!');
  14. },
  15. //默认属性
  16. defaults: {
  17. title:'well'
  18. }
  19. });
  20. //定义collection
  21. var books = Backbone.Collection.extend({
  22. model: book,
  23. });
  24. var book1 = new book({title: 'book1'});
  25. var book2 = new book({title: 'book2'});
  26. var book3 = new book({title: 'book3'});
  27. //books实例
  28. var bookself = new books;
  29. //books有add方法,添加model
  30. bookself.add(book1);
  31. bookself.add(book2);
  32. bookself.add(book3);
  33. //可以移除model
  34. bookself.remove(book3);
  35. //可以打印看bookself有哪些内容
  36. console.log(bookself);
  37. //遍历boolself
  38. //基于underscore这个js库,还可以使用each的方法获取collection中的数据
  39. //与underscore本身的用法稍有不同
  40. bookself.each(function(value, key, list){
  41. //value是每个model
  42. console.log(value.get('title'));
  43. });
  44. </script>
  45. </body>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注