Я пытаюсь реализовать простой пейджинг, но не могу понять, что я делаю неправильно.пейджинг с нокаутом и ветром
Вот что у меня есть.
search.html
<ul data-bind="foreach:leases">
<li data-bind="text: leaseID"></li>
</ul>
<button class="btn" data-bind="click: next">Next</button>
<div data-bind="dump: $data.leases"></div>
search.js
var currentPage = ko.observable();
var totalPages = ko.observable();
var totalRecords = ko.observable();
var leases = ko.observableArray();
//#region Internal Methods
activate = function() {
currentPage(0);
return datacontext.getLeases(leases, totalPages, totalRecords, currentPage);
},
next = function() {
currentPage(currentPage() + 1);
return datacontext.getLeases(leases, totalPages, totalRecords, currentPage);
},
vm = {
activate: activate,
leases: leases,
title: 'Hi there',
next: next
};
return vm;
datacontext.js
var getLeases = function (leasesObservable, totalpages, totalrecords, currentPage) {
var query = entityQuery.from('Leases')
.skip(currentPage() * 5).take(5)
.orderByDesc("leaseID")
.inlineCount(true);
return manager.executeQuery(query, leasesObservable)
.then(querySucceeded)
.fail(queryFailed);
function querySucceeded(data) {
if (leasesObservable) {
leasesObservable(data.results);
totalpages(Math.ceil(data.inlineCount/5));
totalrecords(data.inlineCount);
}
}
};
Звонок в моем Activate работает отлично, и отображаются первые 5 результатов. Когда я нажимаю на следующую кнопку, данные возвращаются, но я получаю сообщение об ошибке.
Невозможно разобрать bindings.↵Message: ReferenceError: leaseID не определен, значение ↵Bindings: Текст: leaseID»
Любые идеи
Пожалуйста, 'console.log', что вы получаете в методе' querySucceeded' в 'data.results' и обновляете сообщение своим выходом! – nemesv
Я стою исправлены. Загрузка данных при активизации, то при первом нажатии следующего появляется следующее сообщение об ошибке: [Q] Необработанные причины отказа (должны быть пустыми): После этого нажатие на кнопку «Далее» возвращает данные, но к тому времени привязка уже сломан. – Cooper