Я получение MandatesHistory коллекции на мандатной Сущности, как это:breezejs: пагинация и отложенная загрузка
var query = breeze.EntityQuery.from("MandatesHistory")
.where("Mandate.Id", "==", mandatId)
.expand("Mandate").skip(offset).take(pageSize).inlineCount(true);
return manager.executeQuery(query.using(service));
Он отлично работает в первый раз, и коллекция заполняется 10 записей (это значение PAGESIZE).
Но затем во второй раз в коллекцию добавляются следующие 10 записей вместо замены предыдущих 10. Таким образом, коллекция продолжает расти, когда я просматриваю страницы.
Очевидно, что моя разбивка на страницы больше не работает, поскольку она ожидает только 10 записей на странице, то есть 10 записей в коллекции в любой момент времени.
Ожидаемое поведение? Если я укажу пропуск и сделаю, я предпочел бы, чтобы коллекция была перезаписана после каждого запроса.
Проблема в том, что я привязался к моему представлению (используя angularjs) свойство коллекции моего объекта, через которое я петлю, чтобы отображать записи в разбитой на страницы таблицы. Тем не менее, я хочу отобразить только десять записей, возвращаемых запросом, в зависимости от того, на какой странице я нахожусь. Возможно, мне нужно привязать результаты напрямую, а не к объекту. Таким образом, я бы избегал проблемы с кешем, но мне это кажется неудобным. Яснее? – Sam
Извините, не совсем :) Если вы создали коллекцию и хотите привязать ее к 10 записям, то просто очистите коллекцию, прежде чем заполнять ее результатами вашего запроса. Кажется, я что-то упускаю. –
То, как я заполняю коллекцию, не позволяет мне прояснить заранее. Я использую Expand, и я позволяю breeze объединять коллекцию с существующим сущностью (в кеше) – Sam