目次
前後のページの制御
ページ番号トラバーサル
スタイルのバインド
クリック イベントの監視
概要
ホームページ ウェブフロントエンド Vue.js Vueドキュメントでのページングバーコンポーネントの実装プロセスの詳細な説明

Vueドキュメントでのページングバーコンポーネントの実装プロセスの詳細な説明

Jun 20, 2023 am 09:15 AM
vue コンポーネント ページネーション

Vue は人気のある JavaScript フレームワークであるため、開発中にページング関数を使用する必要があることがよくあります。 Vue ドキュメントにはページング バー コンポーネントが用意されており、開発者にページングを実装する便利で迅速な方法を提供します。この記事では、ページングバーコンポーネントの実装プロセスを詳しく紹介します。

まず、Vue の公式ドキュメントには、Pagination コンポーネントの具体的な実装が記載されています。コンポーネントでは、まず Vue コンポーネントと CSS スタイルを導入します:

<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>
ログイン後にコピー

このテンプレートでは、次の重要なポイントがわかります:

  • v-ifおよび v-for 命令: v-if を使用して前のページと次のページを表示するかどうかを制御し、v-for を使用してページング ページを移動します。番号。
  • classBinding: v-bind:class を通じて現在のページ (アクティブ) のスタイルをバインドします。
  • @click.prevent コマンド: @click.prevent を使用して、ページ分割ページ番号のクリック イベントを監視します。
  • {{}} マーク: {{}} マークを使用すると、ページネーションのページ番号が表示されます。

これらの重要なポイントを 1 つずつ分析してみましょう。

前後のページの制御

まず、現在のページ番号に基づいて、前のページと次のページを表示する必要があるかどうかを判断する必要があります。テンプレート内の v-if の実装によると、v-if="current_page > 1" は、前のページのボタンのみが表示されることを意味することがわかります。現在のページ番号が 1 より大きい場合。

同様に、 v-if="current_page < last_page" は、現在のページ番号が最大ページ番号より小さい場合にのみ「次のページ」ボタンが表示されることを意味します。

ページ番号トラバーサル

次に、ページ分割されたページ番号リストをページ上に表示する必要があります。テンプレート内の v-for の実装によれば、pagesv-for="page in pages" が計算された Vue にあることがわかります。属性 (計算) 返された配列。

ここでは、合計ページ数と、ページ番号リストにどのページ番号を表示する必要があるかを計算する必要があります。これを実現するために、Vue の計算プロパティを使用します。

computed: {
  pages: function() {
    var pages = [];
    for (var i = this.current_page - this.offset; i <= this.current_page + this.offset; i++) {
      if (i > 0 && i <= this.last_page) {
        pages.push(i);
      }
    }
    return pages;
  }
}
ログイン後にコピー

このうち、pages はページ番号リスト、current_page は現在のページ番号、last_page です。 は最大ページ番号です。 offset はオフセットで、現在のページ番号の左右に何ページ番号が表示されるかを示します。

計算により、ページ番号リストにどのページ番号を表示するかを取得します。次に、テンプレートで v-for を使用して、計算されたページ番号をトラバースし、ページ上にリストを表示します。

スタイルのバインド

現在のページ番号のスタイルを一意にするために、指定されたクラスをテンプレート内の現在のページに追加する必要があります。テンプレートでは、v-bind:class を使用してこの機能を実現します。

<li v-for="page in pages"
    v-bind:class="[ page == current_page ? 'active' : '' ]">
  <a href=""
     @click.prevent="changePage(page)">@{{ page }}</a>
</li>
ログイン後にコピー

このコードでは、v-bind:class が配列をバインドします。配列には 2 つの要素があります。 1 つ目は、現在のページ番号が走査されたページ番号と等しいかどうかを判断することです。等しい場合は、現在のページ番号を表す active クラスをバインドします。等しくない場合は、空の文字列クラスをバインドします。このようにして、指定したスタイルを現在のページ番号にバインドできます。

クリック イベントの監視

ユーザーが特定のページ番号をクリックすると、ページ番号を取得し、対応するジャンプまたはデータ リクエストを実行する必要があります。 Vue では、@click.prevent を使用してクリック イベントを登録し、デフォルトの動作を防止します。

<a href=""
   @click.prevent="changePage(page)">@{{ page }}</a>
ログイン後にコピー

ここの changePage はメソッドです。このメソッドを Vue インスタンスで定義します。

methods: {
  changePage: function(page) {
    this.current_page = page;
    this.$emit('page-changed', page);
  }
}
ログイン後にコピー

このメソッドでは、現在のページ番号を更新し、カスタム イベント page-changed をトリガー (発行) します。このカスタム イベントを通じて、親コンポーネントでイベントをリッスンし、特定の操作を実装できます。

概要

上記の分析を通じて、Vue ページング バー コンポーネントの実装が比較的単純であることがわかります。しかし、このコンポーネントの基礎となる原理をマスターすることで、Vue フレームワークをより巧みに使用し、実際の開発でページング機能をより柔軟かつ便利に適用できるようになります。

以上がVueドキュメントでのページングバーコンポーネントの実装プロセスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vue.jsでJSファイルを参照する方法 vue.jsでJSファイルを参照する方法 Apr 07, 2025 pm 11:27 PM

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

VueでWatchの使用方法 VueでWatchの使用方法 Apr 07, 2025 pm 11:36 PM

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

怠zyなロードVUEとはどういう意味ですか? 怠zyなロードVUEとはどういう意味ですか? Apr 07, 2025 pm 11:54 PM

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

Vueはマーキー/テキストスクロール効果を実現します Vueはマーキー/テキストスクロール効果を実現します Apr 07, 2025 pm 10:51 PM

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

VUEのボタンに関数を追加する方法 VUEのボタンに関数を追加する方法 Apr 08, 2025 am 08:51 AM

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

Vueによる前のページに戻る方法 Vueによる前のページに戻る方法 Apr 07, 2025 pm 11:30 PM

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vueのバージョンを照会する方法 Vueのバージョンを照会する方法 Apr 07, 2025 pm 11:24 PM

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

See all articles