Knockout-Vorlage-erstellen der Paginierung UI / links ähnlich wie StackOverflow

Habe ich wieder eine funktionierende Knockout-Vorlage-für einige Paginierung UI, das funktioniert mit einem Knockout-basiertes shared-data-grid. Diese Vorlage macht ein HREF " für jede "Seite" der Daten im Netz.

Den Vorlage arbeiten, aber es ist klunky, denn wenn ich Sie Holen eine Menge von Daten, dann habe ich am Ende mit Dutzende und Dutzende von Navigations-Seite links unterhalb des Gitters. Hier ist die aktuelle Vorlage:

<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>

Den 'currentPageIndex' Wert ist nur ein einfaches ko beobachtbare in das Modell:

this.currentPageIndex = ko.observable(0);

Und 'maxPageIndex' ist eine berechnete beobachtbare in das Modell:

this.maxPageIndex = ko.computed(function () {
    return Math.ceil(ko.utils.unwrapObservable(this.filteredItems()).length / this.pageSize()) - 1;
}, this);

Wie kann ich ändern Sie die Vorlage und Modell zum aktivieren von paging-UI ähnlich wie StackOverflow?

Beispiel:

zurück 1 ... 3 4 5 6 7 ... 69 nächsten

Schreibe einen Kommentar