我正在使用 Backbone Paginator,当我过滤集合时,它只过滤当前页面。如何过滤整个集合?
目前,我正在处理 Marionette 中的过滤器按钮。当用户输入要过滤的值时,我将该值设置为我的 Application 对象中的成员。然后我在集合上调用 fetch。这些项目在一个表格中,呈现在一个复合视图中。如果模型中的数据字段与过滤器值中的条件不匹配,我将覆盖过滤器方法并返回 0:
filter: function(child, index, collection) {
var name = child.get('full_name').toLowerCase();
if (App.nameFilter.length) {
if (name.indexOf(App.nameFilter.toLowerCase()) == -1) {
return 0;
}
}
return 1;
}
如果子模型不在当前页面上,则不会被拾取。或者,有没有更好的方法来做到这一点?