`
2008winstar
  • 浏览: 58171 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • chenke: 写的很好,也可以看看那这个文章,我感觉学的还可以。http:/ ...
    HTML

Backbone中Collection的基础知识

 
阅读更多

   1 定义Collection,定义Collection时通常需要指定其扩展的Model

var Book = Backbone.Model.extend({
    defaults: {
        title: '',
        author: ''
    }
});

var BookShelf = Backbone.Collection.extend({
    model: Book
});

 

   2 向Collection中添加model

bookShelf.add(book);
bookShelf.add([book-array]);

 

   3 从Collection中移除model

bookShelf.remove(book);
bookShelf.remove([book-array]);

 

   4 获取Collection中的model

bookShelf.get(3); //id

 

   5 事件监听

BookShelf.on('add', function(book){});

 

BookShelf.on('change:title', function(book){});

 

   6 设置Collection

BookShelf.set([book-array]);

 

BookShelf.reset([book-array]);
BookShelf.reset();// 清空Collection,触发reset事件,而不触发add或remove事件

 

   7 更新Collection

BookShelf.update([book-array]);

 

   8 Underscore提供的方法

BookShelf.forEach(function(book){});

 

BookShelf.sortBy(function(book){
    return book.get('title').toLowerCase();
});

 

BookShelf.map(function(book){});

 

BookShelf.max(function(book){
    return book.id;
}).id;

BookShelf.min(function(book){
    return book.id;
}).id;

 

BookShelf.pluck('title');  //返回Collection中各个model的title属性,形成数组

 

Bookshelf.indexOf(book);

 

Bookshelf.any(function(book){
    return book.id === 3;
});

Bookshelf.some(function(book){
    return book.id === 3;
});

 

BookShelf.size();
//相当于
BookShelf.length;

 

BookShelf.isEmpty()

 

BookShelf.groupBy('key');

 

book.pick('key');

 

book.omit('key');

 

book.keys();

 

book.values();

 

book.pairs();

 

book.invert();

 

   id, cid, idAttribute

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics