我想实现简单的分页,但无法弄清楚我做错了什么。分页与淘汰赛和微风
这是我的。
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);
}
}
};
在我启动呼叫工作正常,前5个结果显示。当我点击下一个按钮时,数据被返回,但是我得到一个错误。
无法解析bindings.↵Message:不定义leaseID;↵Bindings值:文本的ReferenceError:leaseID”
任何想法
请'console.log'在'data.results'的'querySucceeded'方法中获得什么,并用输出更新您的文章! – nemesv
我纠正了。激活数据加载,然后我第一次点击下一步我得到以下错误: [Q]未处理的拒绝原因(应该是空的): 之后点击Next按钮返回数据,但到那时绑定是已经坏了。 – Cooper