backbone学习笔记:集合(Collection)

简介:

集合(Collection)是一个Backbone对象,用来组织和管理多个模型,它不仅仅是一个javascript数组,还提供了专门的方法来对集合进行排序、过滤和遍历,集合可以方便的与REST服务器进行通信。

   RoomCollection=Backbone.collection.extend({model: RoomModel});

  var room1=new RoomModel({name:'test1'});

  var room2=new RoomModel({name:'test2'});

  var room3=new RoomModel({name:'test3'});

  var rooms=new RoomCollection([room1,room2,room3]);

  在集合内部,模型被存储在一个名为models的数组当中,为集合添加模型或删除模型时,Backbone.Collection负责对这个数组进行维护

注意:对集合进行排序后,模型元素的索引会更改掉

集合提供的方法:

 1. at():获取处于特定索引位置的模型,var model=rooms.at(2);

2. indexOf():获取模型的索引,此方法从underscore.js中继承过来,rooms.indexOf(model);

3. clone():获取对象的深拷贝,改变复制的对象的属性不会影响原始模型对象的属性值,rooms.at(2).clone();

4. length:获取集合的长度,rooms.length

5. get():使用ID从集合中获取模型,保证最佳性能,如果ID没有初始化,就用对象模型的cid代替ID,rooms.get('c1')

6. add():为集合添加一个新的模型rooms.add(new RoomModel({name:'test4'}),{at:2}),在索引为2的位置为集合添加一个新模型,

  add方法只添加不重复的模型,可以添加一个模型,也可以添加一个模型数组

7. remove():删除一个或多个模型, rooms.remove(['c1','c2']),或者rooms.remove(model)

8. reset():清空集合中原有的模型,并且可以添加新的模型

  把集合当队列或者栈操作,所以push(),pop(),unshift(),shift()方法都可以用

9. sort():排序,由comparator(定义排序规则)属性辅助完成

10. pluck():把集合中每个模型的特定属性值作为数组返回,rooms.pluck('name')

11. map():对每个模型进行特定的计算,返回所有模型计算结果的数组

  rooms.map(function(model){

    return model.get('name')+'hi';

  })

12. every():检查集合中所有的模型是否满足指定条件,只要有一个不满足条件就返回false,都满足条件返回true

  var reslut=rooms.every(function(model){

    return model.get('name').length>5;

  })

13. some():检查集合中的任意模型是否满足指定条件,只要有一个满足条件就返回true,只有都不满足条件才返回false

  var reslut=rooms.some(function(model){

    return model.get('name').length>5;

  })

14. create():在集合中添加新的模型,并保存到服务器,返回新添加的模型

  var room=rooms.create({name:'test6'});room是新添加的模型

15. where():返回集合中所有匹配指定属性的模型数组。 对于简单的filter(过滤)比较有用。

    rooms.where({name:'test1'})

16. findWhere():返回集合中匹配指定模型的第一个模型

  var room=rooms.findWhere({name:'test1'})

作者:绿茶叶 
出处:http://www.cnblogs.com/greenteaone/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/greenteaone/p/4386111.html

目录
相关文章
|
8天前
|
存储 Java 索引
集合进阶Collection集合
这篇文档介绍了Java中的Collection集合和其子类List与Set的基本概念和特性。
22 3
|
8月前
|
存储 Java 数据库
Collection集合
Collection集合
30 0
|
存储 容器
数据结构,Map和Set的模型
本文讲解:Map和Set的模型
|
存储 算法 安全
|
存储 BI C++
【高阶数据结构】Map 和 Set(详解)(下)
【高阶数据结构】Map 和 Set(详解)(下)
109 0
【高阶数据结构】Map 和 Set(详解)(下)
|
存储 自然语言处理 C++
【高阶数据结构】Map 和 Set(详解)(上)
【高阶数据结构】Map 和 Set(详解)(上)
118 0
【高阶数据结构】Map 和 Set(详解)(上)
|
安全 Java 容器
Java集合学习1:Collection集合、List(二)
概念:对象的容器,定义了对多个对象进行操作的常用方法。可以实现数组的功能。
Java集合学习1:Collection集合、List(二)
|
存储 Java API
Java集合学习1:Collection集合、List(一)
概念:对象的容器,定义了对多个对象进行操作的常用方法。可以实现数组的功能。
Java集合学习1:Collection集合、List(一)
|
存储
集合、collection、list的方法
集合、collection、list的方法
73 0
|
存储 Java
Java中Collection集合概述、基本使用、常用方法及Collection集合存储学生对象并遍历
Collection集合概述、基本使用、常用方法及Collection集合存储学生对象并遍历的简单示例
94 0
Java中Collection集合概述、基本使用、常用方法及Collection集合存储学生对象并遍历

热门文章

最新文章