【发布时间】:2013-07-29 18:31:12
【问题描述】:
我正在尝试实现简单的分页,但不知道我做错了什么。
这就是我所拥有的。
搜索.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>
搜索.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 个结果。当我点击下一个按钮时,数据返回但我得到一个错误。
无法解析绑定。↵消息:ReferenceError:leaseID 未定义;↵绑定值:文本:leaseID"
有什么想法吗?
【问题讨论】:
-
请
console.log在data.results的querySucceeded方法中得到什么,并使用输出更新您的帖子! -
我的立场是正确的。激活时加载数据,然后第一次单击下一步时出现以下错误:[Q] 未处理的拒绝原因(应为空):单击下一步按钮后返回数据,但此时绑定已损坏。跨度>
标签: knockout.js breeze single-page-application durandal