美文网首页
Backbone.js浅析(Backbone.Collectio

Backbone.js浅析(Backbone.Collectio

作者: Locdee_落地 | 来源:发表于2017-09-10 00:04 被阅读0次

    Collection是同一类Model的集合,比如Model是动物,Collection就是动物园;Model是单个的人,Collection就是一家公司。

    var Song = Backbone.Model.extend({});
    var Album = Backbone.Collection.extend({
        model: Song
    });
    

    上面代码中,Song是Model,Album是Collection,而且Album有一个model属性等于Song,因此表明Album是Song的集合。
    add方法,remove方法
    Model的实例可以直接放入Collection的实例,也可以用add方法添加。

    var song1 = new Song({
        id: 1 ,
        name: "歌名1",
        artist: "张三" 
    });
    var song2 = new Music ({
        id: 2,name: "歌名2",
        artist: "李四" 
    });
    var myAlbum = new Album([song1, song2]);
    var song3 = new Music({ 
        id: 3, 
        name: "歌名3",
        artist:"赵五"
    });
    myAlbum.add(song3);
    

    remove方法用于从Collection实例中移除一个Model实例。

    myAlbum.remove(1);
    

    上面代码表明,remove方法的参数是model实例的id属性。
    get方法,set方法
    get方法用于从Collection中获取指定id的Model实例。

    myAlbum.get(2)
    

    fetch方法
    fetch方法用于从服务器取出Collection数据。

    var songs = new Backbone.Collection;
    songs.url = '/songs';songs.fetch();
    

    Backbone.events

    var obj = {};
    _.extend(obj, Backbone.Events);
    obj.on("show-message", function(msg) {
        $('#display').text(msg);
    });
    obj.trigger("show-message", "Hello World");

    相关文章

      网友评论

          本文标题:Backbone.js浅析(Backbone.Collectio

          本文链接:https://www.haomeiwen.com/subject/ysxzjxtx.html