Шаблон нокаута для создания пользовательского интерфейса / ссылок на страницы, похожих на StackOverflow
У меня есть работающий шаблон Knockout для некоторого пользовательского интерфейса, который работает с общей сеткой данных на основе Knockout. Этот шаблон отображает HREF для каждой & quot; страницы & quot; данных в сетке.
Шаблон работает, но это клунко, потому что, если я получаю много данных, я получаю десятки и десятки ссылок на страницы навигации под сеткой. Вот текущий шаблон:
<div class="idTemplate_ko_simpleGrid_pageLinks">
<p>
<span>Go to page:</span>
<!-- ko foreach: ko.utils.range(0, maxPageIndex) -->
<a href="javascript:void(0);"
class="grid-pagination"
data-bind="text: $data + 1, click: function() { $root.currentPageIndex($data) }, css: { selected: $data == $root.currentPageIndex() }"></a>
<!-- /ko -->
</p>
</div>
«CurrentPageIndex» значение - это просто ко, наблюдаемое в модели:
this.currentPageIndex = ko.observable(0);
И "maxPageIndex" является вычисляемой наблюдаемой в модели:
this.maxPageIndex = ko.computed(function () {
return Math.ceil(ko.utils.unwrapObservable(this.filteredItems()).length / this.pageSize()) - 1;
}, this);
Как я могу изменить шаблон и модель для включения пользовательского интерфейса подкачки, похожего на StackOverflow?
Например:
prev 1 ... 3 4 5 6 7 ... 69 next