50
3
章
Backbone.js
の基礎
]);
//
ログには「コレクションがリセットされました」と記録されます
console.log('
コレクションのサイズ
: ' + TodosCollection.length);
//
コレクションのサイズ
: 1
引数を指定せずに
clear
を呼び出すと、コレクション内のすべての要素を削除できます。新し
いページを動的に読み込み、前のページは白紙に戻したいという場合に利用できます。
myCollection.reset();
Collection.reset()
は
add
や
remove
などのイベントを発生させず、先ほどの例のように
reset
イベントを発生させます。パフォーマンスが極めて重要であり、個々のモデルからのイベン
トに応答していては時間がかかりすぎるという場合に有効です。
reset
イベントのリスナーでは、以下のように
options.previousModels
を通じてリセット前
のモデルを取得できます。
var Todo = new Backbone.Model();
var Todos = new Backbone.Collection([Todo])
.on('reset', function(Todos, options) {
console.log(options.previousModels);
console.log([Todo]);
console.log(options.previousModels[0] === Todo); ...