Heim >Web-Frontend >View.js >Detaillierte Erläuterung des Implementierungsprozesses der Paging-Bar-Komponente im Vue-Dokument

Detaillierte Erläuterung des Implementierungsprozesses der Paging-Bar-Komponente im Vue-Dokument

PHPz
PHPzOriginal
2023-06-20 09:15:271509Durchsuche

Vue ist ein beliebtes JavaScript-Framework und muss während der Entwicklung häufig die Paging-Funktion verwenden. Die Vue-Dokumentation stellt eine Paging-Bar-Komponente bereit, die Entwicklern eine bequeme und schnelle Möglichkeit bietet, Paging zu implementieren. In diesem Artikel wird der Implementierungsprozess der Paging-Leistenkomponente ausführlich vorgestellt.

Zunächst finden wir in der offiziellen Dokumentation von Vue die spezifische Implementierung der Paginierungskomponente. Führen Sie in der Komponente zunächst die Vue-Komponente und den CSS-Stil ein:

<template>
  <nav>
    <ul class="pagination">
      <li v-if="current_page > 1">
        <a href="" aria-label="Previous"
           @click.prevent="changePage(current_page - 1)">
          <span aria-hidden="true">&laquo;</span>
        </a>
      </li>
      <li v-for="page in pages"
          v-bind:class="[ page == current_page ? 'active' : '' ]">
        <a href=""
           @click.prevent="changePage(page)">@{{ page }}</a>
      </li>
      <li v-if="current_page < last_page">
        <a href="" aria-label="Next"
           @click.prevent="changePage(current_page + 1)">
          <span aria-hidden="true">&raquo;</span>
        </a>
      </li>
    </ul>
  </nav>
</template>

<style>
  .pagination li {
    cursor: pointer;
  }
  .pagination li.active span {
    background-color: #3490dc;
    color: #fff;
    border-color: #3490dc;
  }
</style>

In dieser Vorlage können wir die folgenden wichtigen Punkte sehen:

  • v-if und v-for code>Anweisung: Verwenden Sie <code>v-if, um zu steuern, ob die vorherige und die nächste Seite angezeigt werden, und verwenden Sie v-for, um die Seitenzahlen zu durchlaufen.
  • v-ifv-for指令:通过v-if控制上一页和下一页是否显示,通过v-for遍历分页页码。
  • class绑定:通过v-bind:class绑定当前页的样式(active)。
  • @click.prevent指令:通过@click.prevent监听分页页码的点击事件。
  • {{}}标记:通过{{}}标记来显示分页页码。

下面我们根据这些关键点逐一解析。

前一页和后一页的控制

首先,我们需要根据当前页码数来确定上一页和下一页是否需要显示。根据模板中v-if的实现,我们可以知道v-if="current_page > 1"表示当前页码大于1时才显示上一页的按钮。

同理,v-if="current_page 46e6775d57f7e3c0c230230dccccc9bb 1" bedeutet, dass die Schaltfläche der vorherigen Seite angezeigt wird wird nur angezeigt, wenn die aktuelle Seitenzahl größer als 1 ist. 🎜🎜Ähnlich bedeutet v-if="current_page < last_page", dass die Schaltfläche „Nächste Seite“ nur angezeigt wird, wenn die aktuelle Seitenzahl kleiner als die maximale Seitenzahl ist. 🎜🎜Durchlauf der Seitenzahlen🎜🎜Als nächstes müssen wir die paginierte Seitenzahlenliste auf der Seite anzeigen. Gemäß der Implementierung von v-for in der Vorlage können wir erkennen, dass pages in v-for="page in seiten" ein ist Vue berechnete Eigenschaft (berechnet). 🎜🎜Hier müssen wir berechnen, wie viele Seiten es insgesamt gibt und welche Seitenzahlen in der Seitenzahlenliste angezeigt werden müssen. Um dies zu erreichen, verwenden wir von Vue berechnete Eigenschaften: 🎜rrreee🎜 Darunter ist pages eine Liste von Seitenzahlen, current_page ist die aktuelle Seitenzahl und last_page ist die maximale Seitenzahl. <code>offset ist der Offset, der angibt, wie viele Seitenzahlen links und rechts von der aktuellen Seitenzahl angezeigt werden. 🎜🎜Durch Berechnung erhalten wir, welche Seitenzahlen in der Seitenzahlenliste angezeigt werden sollen. Verwenden Sie dann v-for in der Vorlage, um die berechneten Seitenzahlen zu durchlaufen und die Liste auf der Seite anzuzeigen. 🎜🎜Stilbindung🎜🎜Um den Stil der aktuellen Seitennummer eindeutig zu machen, müssen wir die angegebene Klasse zur aktuellen Seite in der Vorlage hinzufügen. In der Vorlage verwenden wir v-bind:class, um diese Funktion zu implementieren. 🎜rrreee🎜In diesem Code bindet v-bind:class ein Array. Es gibt zwei Elemente im Array. Die erste besteht darin, festzustellen, ob die aktuelle Seitenzahl mit der durchlaufenen Seitenzahl übereinstimmt. Wenn sie gleich sind, binden Sie eine aktive-Klasse, um die aktuelle Seitenzahl darzustellen. Wenn nicht gleich, binden Sie eine leere String-Klasse. Auf diese Weise können wir den angegebenen Stil an die aktuelle Seitenzahl binden. 🎜🎜Klickereignisüberwachung🎜🎜Wenn der Benutzer auf eine bestimmte Seitenzahl klickt, müssen wir die Seitenzahl abrufen und entsprechende Sprünge oder Datenanforderungen durchführen. In Vue verwenden wir @click.prevent, um Klickereignisse zu registrieren und Standardverhalten zu verhindern. 🎜rrreee🎜changePage hier ist eine Methode, wir definieren diese Methode in der Vue-Instanz. 🎜rrreee🎜Bei dieser Methode aktualisieren wir die aktuelle Seitennummer und lösen (senden) ein benutzerdefiniertes Ereignis page-changed aus. Durch dieses benutzerdefinierte Ereignis können wir das Ereignis in der übergeordneten Komponente abhören und bestimmte Vorgänge implementieren. 🎜🎜Zusammenfassung🎜🎜Anhand der obigen Analyse können wir sehen, dass die Implementierung der Vue-Paging-Bar-Komponente relativ einfach ist. Durch die Beherrschung der zugrunde liegenden Prinzipien dieser Komponente können wir das Vue-Framework jedoch geschickter nutzen und die Paging-Funktion in der tatsächlichen Entwicklung flexibler und bequemer anwenden. 🎜

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Implementierungsprozesses der Paging-Bar-Komponente im Vue-Dokument. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn