Backbone.Collection は Backbone.Model を複数入れておくことができるものです。
var People = Backbone.Model.extend({
});
var Peoples = Backbone.Collection.extend({
model: People
});
var okano = new People({'name': 'okano'});
var tanaka = new People({'name': 'tanaka'});
var abe = new People({'name': 'abe'});
var peoples = new Peoples();
peoples.add([okano, tanaka, abe]);
console.log(peoples.toJSON()); // [ { name: "okano" }, { name: "tanaka" }, {name: "abe"} ]
Collection 内で comparator メソッドを定義することで並び替え方法を指定出来ます。
comparator メソッドは Collection 内の各 Model を引数として繰り返し呼び出されます。
comparator が返した値(文字列 or 数値)の大小(前後)によって並び順が決まります。
以下の例では、名前の昇順に並び替えています。
var People = Backbone.Model.extend({
});
var Peoples = Backbone.Collection.extend({
model: People,
comparator: function(people) {
return people.get('name'); // 名前で並び替える
}
});
var okano = new People({'name': 'okano'});
var tanaka = new People({'name': 'tanaka'});
var abe = new People({'name': 'abe'});
var peoples = new Peoples();
peoples.add([okano, tanaka, abe]);
console.log(peoples.toJSON()); // [ { name: "abe" }, { name: "okano" }, {name: 'tanaka'} ]
0 件のコメント:
コメントを投稿