我有以下的HTML在淘汰賽與淘汰賽JS
<div data-bind="with: talkData">
<div data-bind="foreach: Talks">
<p data-bind="text: Title"></p>
</div>
</div>
<p>
<button class="btn btn-success previous"
data-bind="click: $root.PageBack, disable: $root.page() == 1">Prev</button>
<button class="btn btn-success next"
data-bind="click: $root.PageNext, disable: $root.page() == $root.talkData().TotalPageCount">Next</button>
</p>
以下模型結合分頁問題:
$(function() {
function TalksViewModel() {
var self = this;
self.page = ko.observable(1);
self.records = ko.observable(1);
self.totalPages = ko.observable(1);
self.talkData = ko.observable();
self.IsPrevEnabled = isPrevEnabled;
function pageBack(item) {
self.page(self.page() - 1);
loadDataFromServer();
}
self.PageBack = pageBack;
function pageNext(item) {
console.log("page next");
self.page(self.page() + 1);
loadDataFromServer();
}
self.PageNext = pageNext;
function loadDataFromServer() {
var url = '/Talks/GetPagedTalks';
self.talkData(null);
$.get(url, { page: self.page() }, self.talkData);
}
// Initial page
loadDataFromServer();
}
ko.applyBindings(new TalksViewModel());
});
的JSON從 'GetPagedTalks' 調用返回的是:
Talks: [{Title:Philippians 1:12-26,…}, {Title:Philippians 1:1-11,…}, {Title:Devoted Lives: ,…}]
0: {Title:Philippians 1:12-26,…}
1: {Title:Philippians 1:1-11,…}
2: {Title:Devoted Lives: ,…}
TotalPageCount: 59
TotalRowCount: 177
下一個和上一個按鈕的工作,但我真的很努力知道如何設置總頁數fr om從GET調用返回的數據。
行: 禁用:$ root.page()== $ root.talkData()TotalPageCount
是不工作的。我認爲TotalPageCount將是talkData的一部分。
任何幫助表示讚賞。
謝謝。