バックボーンコレクションがあり、特定のエントリを除外してそのコレクションのコピーを作成したい場合、コピーしたインスタンスをBackbone.Collectionとして保持しながら、どうすればそれを行うことができますか?
例:
</ p>
var Module = Backbone.Model.extend();
var ModuleCollection = Backbone.Collection.extend({
model: Module
});
var modules = new ModuleCollection;
modules.add({foo: 'foo'},{foo: 'bar'});
console.log(modules instanceof Backbone.Collection); // true
var filtered = modules.filter(function(module) {
return module.get('foo') == 'bar';
});
console.log(filtered instanceof Backbone.Collection); // false
filtered
上記の例では、モデルの配列だけでなく、モジュールのフィルター処理されたバージョンになりたいと思います。
基本的に、特定のモデルをフィルターで除外してインスタンスを返すことができるメソッドをコレクションインスタンスに作成したいのですが、フィルターBackbone.Collection
を開始するとすぐに、反復メソッドは配列を返します。