backbone-paginator fullCollection содержит дополнительные модели после сброса

Я сбрасываю свою коллекцию с помощью массива, отфильтрованного из исходной коллекции.

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-фильтром. Похоже, он снова начинает свой поиск после того, как я применил пользовательский фильтр, и эта коллекция перезаписывает мою коллекцию, созданную из фильтра.

1 ответ

Не уверен, что это решение, но я думаю, что это может быть связано с тем, что вы вызываете.fullcollection до того, как ваша коллекция завершит загрузку.

Вторая возможность проверить свое регулярное выражение, если это действительно правильно.

Не могли бы вы предоставить образцы ваших моделей?

Дайте мне знать, если это поможет

Другие вопросы по тегам