ホームページ > 記事 > ウェブフロントエンド > Bootstrap4 + Vue2 でページング クエリを実装する方法
この記事では、Bootstrap4 + Vue2 を使用してページング クエリを実装するサンプル コードを主に紹介します。
前に書きます
このプロジェクトは、フロントエンドとバックエンドを分離するように設計されており、フロントエンド リソース サーバーとして Nginx を使用し、バックエンド サービスにリバース プロキシを実装します。バックグラウンドは、Tomcat を使用してサービスをデプロイする Java Web プロジェクトです。
フロントエンドフレームワーク: Bootstrap4、Vue.js2
バックエンドフレームワーク: Spring Boot、Spring Data JPA
開発ツール: IntelliJ IDEA、Maven
成果効果:
メンバー情報
Bootstrap + Vueを使って動的テーブルを実装したり、データの追加や削除などを行う方法については、Bootstrap + Vue.jsを使って動的テーブルの表示や追加、削除を実装するをご覧ください。説明が終わったら、この記事の本題に入ります。
1. Bootstrapを使用してテーブルを構築テーブル領域
<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>
ページング領域
Vueオブジェクトを作成する<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>データを初期化する
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); } } });コード:
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); } }); }
3. 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:"/user/"+pageNow, success:function (datas) { vueApp.userList = datas.content; vueApp.totalPages = datas.totalPages; vueApp.pageNow = pageNow; }, error:function (res) { console.log(res); } }); } </script>JPA ページング クエリ
/** * 用户相关请求控制器 * @author louie * @date 2017-12-19 */ @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; /** * 分页获取用户 * @param pageNow 当前页码 * @return 分页用户数据 */ @RequestMapping("/{pageNow}") public Page<User> findByPage(@PathVariable Integer pageNow){ return userService.findUserPaging(pageNow); } }これで関数は完了しました。プロジェクト コードは GitHub で共有されています。クリックして表示できます。または、ダウンロードしてオープンソースを採用し、世界をより良い場所にしようと共有します。 上記は私があなたのためにまとめたものです。 関連記事:
jQuery+CSS を使用してテーブルを実装する方法
http モジュールを使用して、nodejs 経由でリクエストを送信する (詳細なチュートリアル)
Angular を使用して国際化を実装する方法 (詳細なチュートリアル)
JQuery はフォーム検証をどのように実装するのでしょうか?具体的には何を行う必要がありますか?
以上がBootstrap4 + Vue2 でページング クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。