vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)


Posted in Javascript onFebruary 10, 2018

html代码:

<section class="container page-home">
<div id="main-content" class="wrap-container zerogrid">
<article id="news_content" v-for="item in items">
<div class="col-1-2 right">
<img :src="item.coverimage" class="news_image"/>
<!-- :要与img标签之间有空格 -->
</div>
<div class="col-1-2 left">
<a class="art-category left" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >{{item.releasetime.substring(0,19)}}</a>
<div class="clear"></div>
<div class="art-content">
<h2>{{item.title}}</h2>
<div class="info">
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >{{item.author}}</a>
</div>
<div class="line"></div>
<p>{{item.remark}}</p>
<a v-bind:href="['/island/stage/newscontent.html?id='+item.id+'&categoryid='+item.categoryid]" rel="external nofollow" class="more">阅读全文</a>
<span href="javascript:;" rel="external nofollow" class="more" style="margin-left:50px;">浏览量 : {{item.reading}}</span>
</div>
</div>
</article>
<!-- 循环结束(新闻) -->
</div>

<div id="pagination" class="clearfix">
<ul>
<li v-for="page in pages">
<a class="current" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-if="currentPage == page">{{page}}</a>
<!-- 高亮显示当前页 -->
<a class="choose_page" v-if="currentPage != page" @click="clickpage">{{page}}</a>
</li>
<li v-if="pages > 1"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >next</a></li>
</ul>
</div>

</section>

js:

/查询相关新闻种类下的所有新闻记录
var vm = new Vue({
 el: '.page-home',
//需要注入的模板的父元素
 data: {
 items : [],
 pages : [],
 currentPage : []
 }, //end data
 created:function(){
 $.post("/island/stage/queryOneCategoryAllNews.do",{"categoryid":parseInt(categoryid),"currentPage":1},function(data){
 vm.pages = data.totalPage;
//总页码
 vm.items = data.list;
//循环内容
 vm.currentPage = data.currentPage;
//当前页(添加高亮样式)
 });
//end post
 }, //created
 methods:{
 clickpage:function(event){
 var currentPage = $(event.currentTarget).text();
 $.post("/island/stage/queryOneCategoryAllNews.do",{"categoryid":parseInt(categoryid),"currentPage":parseInt(currentPage)},function(data){
 vm.items = data.list;
//循环内容
 vm.pages = data.totalPage;
//总页码
 vm.currentPage = data.currentPage;
//当前页(添加高亮样式)
}); //end post
 } //end method
 }
 }); //end vue

java后台:

package com.zrq.util;

import java.util.List;

import org.springframework.stereotype.Component;

@Component
public class PageUtil {
/*
* // 默认的每页记录数量(10条) private static final int DEFAULT_PAGE_SIZE = 10; //
* 默认当前页 private static final int DEFAULT_CURRENT_PAGE = 1;
*/
// 1.每页显示数量(everyPage)
private int everyPage;
// 2.总记录数(totalCount)
private long totalCount;
// 3.总页数
private long totalPage;
// 4.当前页(currentPage)
private int currentPage;
// 5.起始下标(beginIndex)
private int beginIndex;
// 6.判断是否有上一页
private boolean next;
// 7.判断是否有下一页
private boolean previous;
// 8.返回列表
private List list;

/* 获取总页数 */
public long getTotalPage() {
long remainder = totalCount % this.getEveryPage(); // 剩余数
if (remainder == 0)
totalPage = totalCount / this.getEveryPage();
else
totalPage = totalCount / this.getEveryPage() + 1;
return totalPage;
}

/* 判断是否有上一页 */
public void hasPrevious() {
if (currentPage > 1)
this.setPrevious(true);
else
this.setPrevious(false);
}

/* 判断是否有下一页 */
public void hasNext() {
if (currentPage < this.getTotalCount())
this.setNext(true);
else
this.setNext(false);
}

public boolean isNext() {
return next;
}

public boolean isPrevious() {
return previous;
}

public void setTotalPage(long totalPage) {
this.totalPage = totalPage;
}

public void setNext(boolean next) {
this.next = next;
}

public void setPrevious(boolean previous) {
this.previous = previous;
}

public int getEveryPage() {
return everyPage;
}

public long getTotalCount() {
return totalCount;
}

public int getCurrentPage() {
return currentPage;
}

public int getBeginIndex() {
return beginIndex;
}

public List getList() {
return list;
}

public void setEveryPage(int everyPage) {
this.everyPage = everyPage;
}

public void setTotalCount(long totalCount) {
this.totalCount = totalCount;
}

public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}

public void setBeginIndex(int beginIndex) {
this.beginIndex = beginIndex;
}

public void setList(List list) {
this.list = list;
}

public PageUtil(int currentPage, int pageSize) {
this.currentPage = currentPage;
this.everyPage = pageSize;
}

public PageUtil() {
/*
* this.currentPage = DEFAULT_CURRENT_PAGE; this.everyPage =
* DEFAULT_PAGE_SIZE;
*/
}

public PageUtil(int everyPage, int totalCount, int currentPage,
int beginIndex, List list) {
super();
this.everyPage = everyPage;
this.totalCount = totalCount;
this.currentPage = currentPage;
this.beginIndex = beginIndex;
this.list = list;
}

}

以上这篇vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
jQuery实现可拖动的浮动层完整代码
May 27 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
JS动画效果打开、关闭层的实现方法
May 09 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
bootstrap组件之导航组件使用方法
Jan 19 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
vue 解除鼠标的监听事件的方法
Nov 13 Javascript
vscode中Vue别名路径提示的实现
Jul 31 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 #Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 #Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 #Javascript
Vue组件和Route的生命周期实例详解
Feb 10 #Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 #Javascript
vue.js 微信支付前端代码分享
Feb 10 #Javascript
详解如何实现一个简单的 vuex
Feb 10 #Javascript
You might like
文件上传类
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
使用URL传输SESSION信息
2015/07/14 PHP
JS模拟多线程
2007/02/07 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
json的使用小结
2016/06/08 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
Vue仿百度搜索功能
2020/12/28 Vue.js
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
Python 除法小技巧
2008/09/06 Python
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
Python类的继承super相关原理解析
2020/10/22 Python
C# .NET面试题
2015/11/28 面试题
《菜园里》教学反思
2014/04/17 职场文书
工作会议方案
2014/05/21 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS