目次
基本構造とデータの準備
ページ番号をレンダリングボタン
ページ番号のクリックとイベント配信を処理します
スタイルとインタラクションの詳細
ホームページ ウェブフロントエンド Vue.js Vueのページネーションコンポーネントの例

Vueのページネーションコンポーネントの例

Jul 26, 2025 am 08:49 AM

再利用可能なVUEページングコンポーネントを実装するには、次のキーポイントを明確にする必要があります。1。総数、1ページあたりの行数、現在のページ番号を含む小道具を定義します。 2。ページの総数を計算します。 3.表示されているページ番号アレイを動的に生成します。 4.ページ番号を処理して、イベントをクリックし、親コンポーネントに渡します。 5.スタイルとインタラクションの詳細を追加します。プロップを介してデータを受信し、デフォルト値を設定し、計算された属性を使用してページの総数を計算し、メソッドを使用して現在表示されているページ番号アレイを生成し、テンプレートでボタンをレンダリングし、クリックイベントをクリックして[現在ページイベントをトリガーし、親コンポーネントのイベントを聞いて、現在のページ番号を更新して、CSSのステータスを改善します。

Vueのページネーションコンポーネントの例

VUEを使用して、バックエンド管理システムやコンテンツディスプレイプラットフォームなどのページング機能を必要とするプロジェクトを開発する場合は、再利用可能なページングコンポーネントを実装する必要があります。ここでは、いくつかの重要なポイントについて簡単に説明し、VUEページネーションコンポーネントの基本的で実用的な例を示します。

Vueのページネーションコンポーネントの例

基本構造とデータの準備

コンポーネントを作成する前に、必要なデータを明確にします。

  • 現在のページ番号(CurrentPage)
  • totherItems
  • ページごとに表示されるピースの数(ページサイズ)
  • オプション:表示するページ番号の最大数(表示する最大5ページ番号など)

これらを小道具として、または親コンポーネントから渡すことができます。例えば:

Vueのページネーションコンポーネントの例
小道具:{
  合計:{タイプ:番号、必須:true}、
  Pagesize:{type:number、default:10}、
  currentPage:{type:number、default:1}
}

次に、これらに基づいてページの総数を計算します。

計算:{
  TotalPages(){
    return math.ceil(this.total / this.pagesize)
  }
}

ページ番号をレンダリングボタン

一般的な慣行は、ボタンが多すぎることを避けるために、現在のページの左右に1つまたは2ページの番号のみを表示することです。たとえば、現在5ページにある場合、最大5つのボタンが表示され、3、4、5、6、および7を表示する必要があります。

Vueのページネーションコンポーネントの例

1つの方法で表示するページ番号の配列を生成できます。

方法:{
  getPageNumbers(){
    const maxbuttons = 5
    const pages = []
    const half = math.floor(maxbuttons / 2)

    ret start = math.max(1、this.currentpage -half)
    let end = math.min(this.totalpages、maxbuttons -1を開始)

    //端近くの場合、(終了-Start <MaxButtons -1){{end -start <maxbuttons -1)if(end -start)を前方に調整します。
      start = math.max(1、end -maxbuttons 1)
    }

    for(let i = start; i <= end; i){
      pages.push(i)
    }

    ページを返します
  }
}

これにより、テンプレートで動的なページ番号ボタンをレンダリングできます。


ページ番号のクリックとイベント配信を処理します

ユーザーがページ番号をクリックすると、 $emitを介して新しいページ番号値を親コンポーネントに渡し、データの更新を処理させる必要があります。

 <div class = "pagination">
  <button @click = "$ emit( &#39;update:current-page&#39;、1)":disabled = "currentPage === 1"> home </button>
  <button v-for = "pagenumbersのページ" 
          :key = "page"
          @click = "$ emit( &#39;update:current-page&#39;、page)"
          :class = "{active:currentPage ===ページ}">
    {{page}}
  </button>
  <button @click = "$ emit( &#39;update:current-page&#39;、totalpages)":disabled = "currentPage === totalPages">最後のページ</button>
</div>

親コンポーネントでこのページングコンポーネントを使用する場合、次のようにバインドできます。

 <ページネーション 
  :total = "100" 
  :current-page = "currentPage" 
  @update:current-page = "currentPage = $ event"
/>

スタイルとインタラクションの詳細

  • 現在の.activeにハイライトスタイルを追加することは非常に一般的です。
  • 「前のページ」または「次のページ」ボタンを追加して、無効な操作を避けることもできます。
  • ページ番号が多すぎる場合は、楕円(…)を追加して、中央に非表示のページ番号があることを示すこともできますが、これはもう少し複雑になります。
  • 誤って触れるのを防ぐために、ボタンの数を簡素化することをお勧めします。

基本的にそれだけです。単純なページングコンポーネントは複雑すぎる必要はありませんが、明確な論理と合理的な相互作用を持つことは非常に実用的です。

以上がVueのページネーションコンポーネントの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 Futide Product Resources Webサイトへの無料入場。完全なVUE完成品は、オンラインで永久に表示されます Vue Futide Product Resources Webサイトへの無料入場。完全なVUE完成品は、オンラインで永久に表示されます Jul 23, 2025 pm 12:39 PM

この記事では、VUE開発者と学習者向けの一連のトップレベルの完成品リソースWebサイトを選択しました。これらのプラットフォームを通じて、大規模な高品質のVUE完全プロジェクトを無料でオンラインで閲覧、学習、再利用することさえできます。

Vue Lifecycleフックとは何ですか?いくつか名前を付けて、それらのユースケースを説明してください。 Vue Lifecycleフックとは何ですか?いくつか名前を付けて、それらのユースケースを説明してください。 Jul 24, 2025 am 12:08 AM

VUEコンポーネントのライフサイクルフックは、特定の段階でコードを実行するために使用されます。 1.作成:データの初期化に適したコンポーネントが作成された直後に呼び出されます。 2.マウント:コンポーネントがDOMに取り付けられた後に呼び出され、DOMの操作または外部リソースのロードに適しています。 3.投資:データの更新により、コンポーネントが再レンダリングされ、データの変更への応答に適した場合に呼び出されます。 4.beforeunmount:コンポーネントがアンインストールされる前に呼び出され、イベントのリスニングやタイマーに適しており、メモリの漏れを防ぎます。これらのフックは、開発者がコンポーネントの動作を正確に制御し、パフォーマンスを最適化するのに役立ちます。

Vueのページネーションコンポーネントの例 Vueのページネーションコンポーネントの例 Jul 26, 2025 am 08:49 AM

再利用可能なVUEページングコンポーネントを実装するには、次のキーポイントを明確にする必要があります。1。総数、1ページあたりの行数、現在のページ番号を含む小道具を定義します。 2。ページの総数を計算します。 3.表示されているページ番号アレイを動的に生成します。 4.ページ番号を処理して、イベントをクリックし、親コンポーネントに渡します。 5.スタイルとインタラクションの詳細を追加します。プロップを介してデータを受信し、デフォルト値を設定し、計算された属性を使用してページの総数を計算し、メソッドを使用して現在表示されているページ番号アレイを生成し、テンプレートでボタンをレンダリングし、クリックイベントをクリックして[現在ページイベントをトリガーし、親コンポーネントのイベントを聞いて、現在のページ番号を更新して、CSSのステータスを改善します。

Vue無料完成品リソース入りVUE無料完成品Webサイトナビゲーション Vue無料完成品リソース入りVUE無料完成品Webサイトナビゲーション Jul 23, 2025 pm 12:42 PM

VUE開発者にとって、高品質の完成プロジェクトまたはテンプレートは、新しいプロジェクトを迅速に開始し、ベストプラクティスを学ぶための強力なツールです。この記事では、バックエンド管理システム、UIコンポーネントライブラリ、または特定のビジネスシナリオのテンプレートであろうと、効率的に必要なフロントエンドソリューションを見つけるのに役立つ複数のトップVUE無料完成品リソースポータルとWebサイトナビゲーションを選択して、簡単に入手できます。

$ refコンパイラマクロの使用方法は? $ refコンパイラマクロの使用方法は? Jul 19, 2025 am 01:27 AM

$ REFは、JSONSCHEMAおよびOpenAPI仕様で一般的に見られるJSONまたはYAML構成ファイルまたは外部ファイル構造の他の部分を参照するために使用されるキーワードです。 1。$ refの基本的な構文は{"$ ref": "path"}であり、現在のドキュメント(#/definitions/userなど)または外部ファイル(userschema.json#/definitions/userなど)の内部を指すことができます。 2。使用法のシナリオには、スキーマの再利用、大きなファイルの分割、コード構造の整理が含まれます。 3.パスは正しいことであり、円形の参照を避け、外部ファイルがアクセス可能であることを確認し、過度のネストを避ける必要があることに注意してください。

Vueコンポーネントでスロットと名前付きスロットを使用する方法は? Vueコンポーネントでスロットと名前付きスロットを使用する方法は? Jul 21, 2025 am 03:24 AM

VUEでスロットと名前付きスロットを使用すると、コンポーネントの柔軟性と再利用性が向上します。 1.スロットを使用すると、親コンポーネントは、段落テキストをcard.vueコンポーネントに挿入するなど、タグを介して子コンポーネントにコンテンツを挿入できます。 2。名前付きスロットは、モーダルボックスコンポーネントでそれぞれヘッダー、ボディ、フッター領域を定義するなど、名前属性を介したコンテンツ挿入位置の制御を実現します。 3.デフォルトのコンテンツは、デフォルトの閉じるボタンなど、親コンポーネントが提供されていない場合、代替としてスロットに設定できます。 4。#シンボルは、v-slotの略語構文です。 5.過度の依存性を避けるために合理的にスロットを使用することをお勧めします。一部のコンテンツは、プロップまたはスコープコンポーネントを介して実装されると見なすことができます。

VUEアプリにInternationalization(I18N)を実装する方法は? VUEアプリにInternationalization(I18N)を実装する方法は? Jul 26, 2025 am 08:37 AM

vuei18nをインストール:Vue3はnpminstallvue-i18n@nextを使用します。vue2はnpminstallvue-i18nを使用します。 2.ネストされた構造をサポートし、en.jsonやes.jsonなどの言語ファイルを作成します。 3. vue3のcreatei18nを介してインスタンスを作成し、main.jsにマウントし、vue2はvue.use(vuei18n)を使用し、vuei18nをインスタンス化します。 4。{{$ t( 'key')}}補間をテンプレートに挿入し、vue3Composition APIで使用するusei18nのt関数、およびvue2options apiを使用します

VUEの計算されたプロパティとメソッド VUEの計算されたプロパティとメソッド Aug 05, 2025 am 05:21 AM

計算にはキャッシュがあり、依存関係が変更されないままである場合、複数のアクセスは再計算されませんが、メソッドは呼び出されるたびに実行されます。 2.Computedは、応答性データに基づく計算に適しています。メソッドは、パラメーターが必要または頻繁に呼び出されるが、結果は応答性データに依存しないシナリオに適しています。 3.データの双方向の同期を実現することができますが、メソッドはサポートされていません。 4.要約:最初に計算されたコンピューターを使用してパフォーマンスを改善し、パラメーターを渡したり、操作を実行したり、キャッシュを回避したりするときにメソッドを使用します。

See all articles