Knockout ベースの共有データ グリッドで動作するいくつかのページネーション UI 用の機能する Knockout テンプレートがあります。このテンプレートは、グリッド内のデータの「ページ」ごとに HREF をレンダリングします。
テンプレートは機能しますが、大量のデータをフェッチすると、グリッドの下に何十ものナビゲーション ページ リンクが表示されてしまうため、扱いにくいです。現在のテンプレートは次のとおりです。
<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' 値は、モデル内の単純な ko オブザーバブルです。
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 と同様のページング UI を有効にするにはどうすればよいですか?
例えば:
前へ 1 ... 3 4 5 6 7 ... 69 次へ