相信大家用过很多jquery的分页插件,那这次就用一用基于vue的分页插件。

这里的环境用的是springboot

首先要引入pagehelper的jar文件,版本是1.2.3,配置文件也需要配置一下


核心代码:

DAO层

接口:

 List<Article> selectAll();

mapper文件:

只需要写一个简单的查询即可。

 <select id="selectAll" resultMap="ResultMapWithBLOBs">
select <include refid="Base_Column_List"/> from article
</select>

Service层:

接口:

 PageInfo<Article> selectAll(int pageNum,int pageSize);

实现:

    @Override
public PageInfo<Article> selectAll(int pageNum,int pageSize) {
Page<Article> page = PageHelper.startPage(pageNum, pageSize);
articleMapper.selectAll();
return page.toPageInfo();
}

Controller层:

 @RequestMapping("/selectAll")
@ResponseBody
public Object selectArticleAll(@RequestParam(required = true,defaultValue = "0")int pageNum,
@RequestParam(required = true,defaultValue = "3")int pageSize){
PageInfo<Article> articlePageInfo = articleService.selectAll(pageNum, pageSize);
return articlePageInfo;
}

前台代码:

引入所需的js和css文件:

 <link rel="stylesheet" th:href="@{/css/zpageNav.css}"/>
<script th:src="@{/js/vue.js}"></script>
<script th:src="@{/js/zpageNav.js}"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>

点这里下载

html:

<div id="container">

    <article class="article" v-for="item in articleList">
<time>{{item.time}}</time>
<h2 class="title"><a href="article?id=${article.id}">{{item.title}}</a></h2>
<span><i>{{item.keywords}}</i></span>
<section class="article-content markdown-body">
<blockquote>
<p>{{item.desci}}</p>
</blockquote>
......
</section>
<footer>
<a href="article?id=${article.id}">阅读全文</a>
</footer>
</article> <!--分页条的占位-->
<zpagenav v-bind:page="page" v-bind:page-size="pageSize" v-bind:total="total" v-bind:max-page="maxPage" v-on:pagehandler="pageHandler"></zpagenav>
</div>

vue:

 <script>
var vm=new Vue({
el:"#container",
data:{
articleList:[],
page:1, //显示的是哪一页
pageSize:5, //页面显示的数据条数
total:100, //总记录数
maxPage:9, //总页数
},
methods:{
//跳转到page页
pageHandler:function (page) {
this.page=page; //修改显示的页数page
var params={"pageNum":page,"pageSize":this.pageSize};
this.$http.post("/article/selectAll",params,{emulateJSON:true}).then(
function (res) {
this.articleList=res.data.list;
this.total=res.data.total;
this.maxPage=res.data.pages;
},
function (res) {
console.log(res);
}
)
}
},
created:function () {
this.pageHandler(1);
}
});
</script>

基于vue的分页插件的更多相关文章

  1. bootstrap-paginator基于bootstrap的分页插件

    bootstrap-paginator基于bootstrap的分页插件 GitHub 官网地址:https://github.com/lyonlai/bootstrap-paginator 步骤 引包 ...

  2. 推荐几款基于vue的使用插件

    1.muse-ui ★6042 - 三端样式一致的响应式 UI 库 2.vuetify ★11169 - 为移动而生的Vue JS 2组件框架 3.Vux ★12969- 基于Vue和WeUI的组件库 ...

  3. 一款基于jQuery的分页插件

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. 基于Vue封装分页组件

    使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...

  5. 基于bootstrap的分页插件

    之前做的分页,是自己后端写一堆代码,返回给前端页面显示,感觉比较繁重.不灵活.今天研究下基于bootstrap的做的插件,整理如下: 在使用bootstrap的插件的时候,需要导入一些css.js. ...

  6. 基于jquery 的分页插件,前端实现假分页效果

    上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...

  7. 自编基于jQuery实现分页插件

    $(function(){ }); /** * @params dataUrl:请求数据url地址 * @params countUrl:请求数据总数url地址 * @params pageSize: ...

  8. 基于vue的cropper插件编写分享

    目录 简介 实现功能 实现原理 github地址:https://github.com/yinzhida/vue-crop git clone: https://github.com/yinzhida ...

  9. 基于VUE2.0的分页插件(很好用,很简单)

    基于jQuery的分页插件很多,今天分享一下基于Vue的分页插件pagination.js,该插件使用用感觉很不错,简单不复杂,现将个人使用过程中的方法与遇到的问题以及实例分享出来. 下载解压的主要目 ...

随机推荐

  1. 【luoguP1858】多人背包

    链接 对于每个状态\(f[j]\)多记录一个维度,转移的时候利用类似于归并排序的方法合并,以保证时间复杂度可以承受 注意事项:前\(K\)大可以有重复的价值 #include<iostream& ...

  2. X86 下的SSDT HOOK

    目录 SSDTHOOK 1.SSDTHOOK 原理. 1.x32下的SSDT HOOK 2.SSDT HOOK代码 3.结果 4.总结 SSDTHOOK 1.SSDTHOOK 原理. x32下,直接获 ...

  3. 第10组 Alpha冲刺(3/4)

    队名:凹凸曼 组长博客 作业博客 组员实践情况 童景霖 过去两天完成了哪些任务 文字/口头描述 继续学习Android studio和Java 制作登录注册界面前端 展示GitHub当日代码/文档签入 ...

  4. Cookie 的 SameSite 属性

    转自http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSit ...

  5. android常见错误之 No resource found that matches the given name

    新手上路,还希望大神多多照顾,刚自学android,遇到很多困难.其中就有这个问题,不知道你们遇到过没有,反正我是很头痛. No resource found that matches the giv ...

  6. fiddler自动生成jmeter测试脚本

    概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler ...

  7. CV基础知识点深入理解

    BN实现: Batch Normalization学习笔记及其实现: BatchNormalization 层的实现 使用Python实现Batch normalization和卷积层 Batch N ...

  8. javascript的Map使用

    setExpenseAndAmountSum: function() { var detailList = vehicleVueObj.vehicleData; var expenseAmountSu ...

  9. java项目中使用ffmpeg剪辑部分视频

    在项目中,有个需求是分享视频链接地址到微信.qq或者朋友圈,只能试看两分钟,本想着通过h5界面就能控制实现效果,代码如下,但是前端终究不是安全的,其次监听事件,如果拉播放进度条,中途停顿多次,就会出现 ...

  10. python skimage图像处理(二)

    python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279  图像简单滤波 对图像进行滤波,可以有两 ...