Collectionを使用する #cid

Collectionは、Modelにあるデータをリストし、操作できます。

(function() {

//モデル継承
var Foo = Backbone.Model.extend({
    defaults: {
        name: '',
        age: 0
    },
    initialize: function() {
        console.log(this.cid + JSON.stringify(this));
    }
});

var Bar = new Foo();
Bar.set({
    name: "aaa",
    age: 14
});

console.log(Bar.cid + JSON.stringify(Bar));

var Baz = new Foo({
    name: "bbb",
    age: 23
});

//コレクション継承
var qux = new Backbone.Collection([Foo, Bar, Baz]);
console.log(JSON.stringify(qux)); //Modelにある変数の中身を出力
console.log(JSON.stringify(qux.get("c2"))); //getで指定したcidのデータを取得
console.log(JSON.stringify(qux.at(2)));

})();

f:id:hrt0kmt:20140618160939p:plain

getでは、id、cidを指定し、取得します。

  • cid

特定のクライアントIDのモデルをコレクションから取得します。クライアントIDはモデルの.cidプロパティで、これはモデルが作成されると自動で付与されます。サーバーにまだ保存されておらず本当のIDを持っていないモデルに役立つものです。

atでは、Modelの位置を指定し、取得します。

参照

https://github.com/enja-oss/Backbone