ホームページ ウェブフロントエンド jsチュートリアル Bootstrap4とVue2はページングクエリ機能を実装(コード添付)

Bootstrap4とVue2はページングクエリ機能を実装(コード添付)

Apr 14, 2018 am 10:37 AM
vue2 クエリ機能

今回は、ページング クエリ機能を実装するための Bootstrap 4 と Vue2 について説明します (コード付き)。ページング クエリ機能を実装するために Bootstrap 4 と Vue2 が実装する 注意事項 は何ですか。以下は実際的なケースです。見てください。

前に書いてあります

このプロジェクトは、フロントエンドとバックエンドを分離するように設計されており、フロントエンドのリソース サーバーとして Nginx を使用し、同時にバックエンド サービスのリバース プロキシを実現します。バックグラウンドは、Tomcat を使用してサービスをデプロイする Java Web プロジェクトです。

  1. フロントエンドフレームワーク: Bootstrap4、Vue.js2

  2. バックエンドフレームワーク: Spring Boot、Spring Data JPA

  3. 開発ツール: IntelliJ IDEA、Maven

Bootstrap + Vue を使用して動的なテーブル、データの追加、削除などの操作を実装する方法については、Bootstrap + Vue.js を使用して動的なテーブルの表示、追加、削除を実装するを参照してください。説明が終わったら、この記事の本題に入ります。

1. ブートストラップを使用してテーブルを構築します

テーブルエリア

りぃ

ページネーションエリア

rreee

2. Vueオブジェクトとデータ

を初期化する Vue オブジェクトを作成する

<p class="row">
   <table class="table table-hover table-striped table-bordered table-sm">
    <thead class="">
    <tr>
     <th><input type="checkbox"></th>
     <th>序号</th>
     <th>会员号</th>
     <th>姓名</th>
     <th>手机号</th>
     <th>办公电话</th>
     <th>邮箱地址</th>
     <th>状态</th>
    </tr>
    </thead>
    <tbody>
    <tr v-for="(user,index) in userList">
     <td><input type="checkbox" :value="index" v-model="checkedRows"></td>
     <td>{{pageNow*10 + index+1}}</td>
     <td>{{user.id}}</td>
     <td>{{user.username}}</td>
     <td>{{user.mobile}}</td>
     <td>{{user.officetel}}</td>
     <td>{{user.email}}</td>
     <td v-if="user.disenable == 0">正常</td>
     <td v-else>注销</td>
    </tr>
    </tbody>
   </table>
  </p>
ログイン後にコピー
初期化データ

<p class="row mx-auto">
   <ul class="nav justify-content-center pagination-sm">
    <li class="page-item">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="page-link"><i class="fa fa-fast-backward" @click="switchToPage(0)"> </i></a>
    </li>
    <li class="page-item">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="page-link"><i class="fa fa-backward" @click="switchToPage(pageNow-1)"></i></a>
    </li>
    <li class="page-item" v-for="n in totalPages" :class="{active:n==pageNow+1}">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="switchToPage(n-1)" class="page-link">{{n}}</a>
    </li>
    <li class="page-item">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="page-link"><i class="fa fa-forward" @click="switchToPage(pageNow+1)"></i></a>
    </li>
    <li class="page-item">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="page-link"><i class="fa fa-fast-forward" @click="switchToPage(totalPages-1)"></i></a>
    </li>
   </ul>
  </p>
ログイン後にコピー
完全な JS コード:

var vueApp = new Vue({
  el:"#vueApp",
  data:{
   userList:[],
   perPage:10,
   pageNow:0,
   totalPages:0,
   checkedRows:[]
  },
  methods:{
   switchToPage:function (pageNo) {
    if (pageNo < 0 || pageNo >= this.totalPages){
     return false;
    }
    getUserByPage(pageNo);
   }
  }
 });
ログイン後にコピー

3. JPA を使用してページング クエリを実装する

コントローラーがリクエストを受け取ります

function getUserByPage(pageNow) {
 $.ajax({
  url:"/user/"+pageNow,
  success:function (datas) {
  vueApp.userList = datas.content;
  vueApp.totalPages = datas.totalPages;
  vueApp.pageNow = pageNow;
  },
  error:function (res) {
  console.log(res);
  }
 });
 }
ログイン後にコピー
JPA ページング クエリ

<script>
 var vueApp = new Vue({
 el:"#vueApp",
 data:{
  userList:[],
  perPage:10,
  pageNow:0,
  totalPages:0,
  checkedRows:[]
 },
 methods:{
  switchToPage:function (pageNo) {
  if (pageNo < 0 || pageNo >= this.totalPages){
   return false;
  }
  getUserByPage(pageNo);
  }
 }
 });
 getUserByPage(0);
 function getUserByPage(pageNow) {
 $.ajax({
  url:&quot;/user/&quot;+pageNow,
  success:function (datas) {
  vueApp.userList = datas.content;
  vueApp.totalPages = datas.totalPages;
  vueApp.pageNow = pageNow;
  },
  error:function (res) {
  console.log(res);
  }
 });
 }
</script>
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

webpack を使用してマルチページ アプリケーションを構築する手順の分析

axios 画像をアップロードするためのプログレス バーを追加する方法

vue が axios を使用する場合、これはどこで起こるのか

以上がBootstrap4とVue2はページングクエリ機能を実装(コード添付)の詳細内容です。詳細については、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)

vue2 と vue3 のライフサイクルの実行順序の違いは何ですか vue2 と vue3 のライフサイクルの実行順序の違いは何ですか May 16, 2023 pm 09:40 PM

vue2 と vue3 のライフサイクルの実行順序の違い ライフサイクルの比較 vue2 の実行順序 beforeCreate=>created=>beforeMount=>mounted=>beforeUpdate=>updated=>beforeDestroy=>destroyed vue3 の実行順序 setup=>onBeforeMount= >onMounted=>onBeforeUpdate=>onUpdated=>onBeforeUnmount=&g

PHPはIPアドレスクエリ機能を実装します PHPはIPアドレスクエリ機能を実装します Jun 22, 2023 pm 11:22 PM

インターネットの急速な発展に伴い、IP アドレスはネットワーク通信に不可欠な部分になりました。 IP アドレス情報は、ネットワーク セキュリティの監視、トラフィック管理、ターゲットを絞った電子商取引広告において非常に重要です。したがって、ユーザーが IP アドレス/ドメイン名情報を簡単に照会できるようにするために、多くの Web サイトでは IP アドレス照会機能が提供されています。この記事では、読者の参考のために、PHP を使用して IP アドレスクエリ機能を実装する方法を紹介します。 1. IP アドレスとは何ですか? IP アドレス (InternetProtocolAddress) はネットワーク プロトコルです

Vue2 diffアルゴリズムがすぐわかる(画像と文章で詳しく解説) Vue2 diffアルゴリズムがすぐわかる(画像と文章で詳しく解説) Mar 17, 2023 pm 08:23 PM

diff アルゴリズムは、同じレベルでツリー ノードを比較する効率的なアルゴリズムであり、ツリーをレイヤーごとに検索して横断する必要がなくなります。では、diff アルゴリズムについてどれくらい知っていますか?次の記事では、vue2 の差分アルゴリズムについて詳しく説明していますので、お役に立てれば幸いです。

チュートリアル: Amap 上の地理的フェンス警報データ照会機能の Java 開発の実装手順 チュートリアル: Amap 上の地理的フェンス警報データ照会機能の Java 開発の実装手順 Jul 29, 2023 pm 06:45 PM

チュートリアル: Amap のジオフェンス アラーム データ クエリ機能を実装するための Java 開発手順 はじめに: Amap は、ジオフェンス機能を含む豊富な地図データとサービスを提供する強力な地理情報サービス プラットフォームです。ジオフェンシングとは、地理座標系の範囲に応じて制限し、地域や地域などでの監視や警報を実現できる機能です。このチュートリアルでは、Java を使用して Amap のジオフェンス アラーム データ クエリ機能を開発する方法と、対応するコード例を紹介します。ステップ 1: Amap を申請して開設する

PHP 開発スキル: データ テーブルの関連付けとクエリ関数の実装方法 PHP 開発スキル: データ テーブルの関連付けとクエリ関数の実装方法 Sep 20, 2023 pm 04:28 PM

PHP 開発スキル: データ テーブルの関連付けとクエリ関数の実装 PHP 開発では、多くの場合、データ テーブル間の関連付けやクエリなど、データベース関連の操作を処理する必要があります。この記事では、PHP を使用してデータ テーブルの相関関数とクエリ関数を実装する方法を紹介し、具体的なコード例を示します。 1. データテーブルの関連付けの概念 データテーブルの関連付けとは、2 つ以上のデータテーブルのレコードを一定のルールに従って結合し、関連付けられたテーブルのデータ情報を取得することを指します。一般的なデータ テーブルの関連付け方法には、1 対 1 の関連付け、1 対多の関連付け、および多対多の関連付けが含まれます。 1つ

PHP を使用して簡単なリアルタイム天気クエリ関数を開発する方法 PHP を使用して簡単なリアルタイム天気クエリ関数を開発する方法 Sep 24, 2023 pm 12:03 PM

PHP を使用して簡単なリアルタイム天気クエリ関数を開発する方法 はじめに: テクノロジーの継続的な発展に伴い、人々は天気にますます注目するようになりました。したがって、リアルタイムの天気クエリ機能を備えた Web サイトまたはアプリケーションの開発は、非常に人気のある需要となっています。この記事では、開発言語として PHP を使用し、PHP を使用して簡単なリアルタイム天気クエリ関数を開発する方法を紹介し、具体的なコード例を示します。 1. 気象データの取得 気象クエリ機能を実装するには、まずリアルタイムの気象データを取得する必要があります。現在、市場では開発用に多くの天気 API が利用可能です。

PHP を使用して単純な IP アドレス クエリ関数を開発する方法 PHP を使用して単純な IP アドレス クエリ関数を開発する方法 Sep 25, 2023 am 09:52 AM

PHP を使用して簡単な IP アドレス クエリ関数を開発する方法 IP アドレスは、ネットワーク内でデバイスを一意に識別する数値アドレスです。場合によっては、地理的位置、ISP プロバイダーなど、IP アドレスに関する関連情報を取得する必要があります。この記事では、PHP を使用して、単純な IP アドレスのクエリ関数を開発します。この機能を実装するには、サードパーティの IP アドレス クエリ サービス API を使用し、API に HTTP リクエストを送信して IP アドレス関連情報を取得する必要があります。以下は具体的な手順とコード例です。

Vue2 と Vue3 で 404 インターフェイスを設定する方法について話しましょう Vue2 と Vue3 で 404 インターフェイスを設定する方法について話しましょう Feb 17, 2023 pm 02:25 PM

この記事では、Vue の学習について説明し、Vue2 および Vue3 で 404 インターフェイスを設定する方法について説明します。

See all articles