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");