我有一个Marionette复合视图,它显示了我在Application start处理程序中设置的集合:
App.on('start', function() {
Backbone.history.start({pushState: true});
// I load up this.appsCollection in my before:start handler
var tblView = new this.appsTableView({
collection: this.appsCollection
});
this.regions.main.show(tblView);
});
这可以按预期工作,显示我的整个集合。在我的模型中,我有一个状态字段,我想只显示状态为0的模型。我试过:
collection: this.appsCollection.where({state: 0})
但这不起作用。我实际上想要显示0和1中的状态,但我现在只想在0中显示状态。
我错过了什么?
答案 0 :(得分:3)
问题可能在于.where()
没有返回集合,而是数组。 http://backbonejs.org/#Collection-where据说这可以保持与下划线的兼容性。
如果您将行更改为:
collection: new Backbone.Collection( this.appsCollection.where( { state: 0 } ))
这有帮助吗?
答案 1 :(得分:0)
我能够在我的Marionette CompositeView中覆盖过滤器方法:
http://marionettejs.com/docs/v2.4.3/marionette.collectionview.html#collectionviews-filter