March 2, 2013

backbone.jsのcollectionで古いmodelを削除する

localStorageに対するcollectionのmodelで最大個数を制御したかったので、以下の方法でやってみました。view内のサンプルになります。(21個目以上が削除されます。)
removeOld: function()
{
    while (20 < this.collection.length)
    {
        this.removeOne(this.collection.at(this.collection.length - 1));
    }
},
removeOne: function(model)
{
    model.destroy();
}
this.collection.eachだと、どうもindexがズレてくるようで断念しました。。。

参考:
http://backbonejs.org/#Collection-at
http://backbonejs.org/#Collection-length

No comments:

Post a Comment