backbone-paginator fullCollection在重置后包含其他模型

时间:2015-01-20 15:00:34

标签: backbone.js backbone-paginator

我使用从原始集合中过滤的数组重置了我的集合。

var applyFilters = function() {
    if (queryfilters.indexOf('no_counts_module') > -1) {
        this.collectionFiltered.reset(this.collectionFiltered.filter(function(site) {
            return !/,?Counts,?/.test(site.get('modulescsv'));
        }));
    }
}.bind(this);

此功能运行后,this.collectionFiltered有我期望的三个模型,但是this.collectionFiltered.fullCollection(我正在使用backbone-paginator。)有六个模型,其中三个不属于用于重置集合的数组,与过滤器不匹配。因此,我在页面上显示的模型计数显示1-6 of 6而不是1-3 of 3,因为这是从fullCollection计算的。

fullCollection正在随着重置而改变。原来的长度是八。它 包括传递给重置的三个预期模型。这些首先出现在集合中,然后是另外三个模型,这些模型是与过滤器不匹配的模型(尽管不是所有原始集合中不匹配的模型)。

为什么我的fullCollection包含的模型不属于传递给重置的数组?

更新:我现在相信我的过滤器可能会被backgrid-filter破坏。在应用自定义过滤器后,它看起来像是在再次运行搜索,并且该集合正在覆盖从过滤器构建的集合。

1 个答案:

答案 0 :(得分:1)

不确定这是否是解决方案,但我认为这可能是您在收集完成之前调用.fullcollection。

第二种可能性检查你的正则表达式是否真的正确。

你能举例说明你的模特吗?

如果有帮助请告诉我