backbone>>collection

<html>
<head>
    <title>backbone.js-Collection</title>
</head>
<body>

</body>
<script src="../../../node_modules/jquery-2.0.2.min.js"></script>
<script src="../../../node_modules/underscore-min.js"></script>
<script src="../../../node_modules/backbone-min.js"></script>
<script>
(function($){
    Book = Backbone.Model.extend({
        defaults:{
            title:'dafaults'
        },
        initialize:function(){
            alert('hey, you create a collection');
        }
    });
    //collection是model的一个有序集合
    BookShelf = Backbone.Collection.extend({
        model: Book
    });
    var book1 = new Book({title:'book1'});
    var book2 = new Book({title:'book2'});
    var book3 = new Book({title:'book3'});
    var bookShelf = new BookShelf();
    //bookShelf = new BookShelf([book1, book2, book3]);
    bookShelf.add(book1);
    bookShelf.add(book2);
    bookShelf.add(book3);
    //bookShelf.remove(book3);

    //基于underscore.js这个库.可以同each来获得collection中的数据
    bookShelf.each(function(book){
        alert(book.get('title'));
    });
    /* 
    for(var i=0; i<bookShelf.models.length; i++) { 
        alert(bookShelf.models[i].get('title')); 
    } 
    */  
    //reset方法,在模型变化的时候,可将集合替换为新的模型或键值对象
    bookShelf.bind('reset', showAllBooks);
    bookShelf.fetch({url:'getbooks'}, success:function(collection, response){
        collection.each(function(book){
            alert(book.get('title'));
        });
    },error:function(){
        alert('error');
    });
    showAllBooks:function(){
        bookShelf.each(function(book){
            //渲染到页面
        });
    }

})(jQuery);
</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值