如果我有一個Backbone集合,並希望創建該集合的副本並篩選出某些條目,那麼如何才能將複製的實例保留爲Backbone.Collection?骨幹過濾
實施例:
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
實例,但只要我開始過濾迭代方法就會返回一個數組。
有道理。謝謝! – David