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 件のコメント:
コメントを投稿