html vue分页,Vue.js bootstrap前端实现分页和排序

写之前先抱怨几句。本来一心一意做.net开发的,渐渐地成了只做前端。最近项目基本都用java做后台,我们这些.net的就成了前端,不是用wpf做界面,就是用html写web页面。

深知自己前端技术不足,以前虽说用asp.net前后台都做,但是,对于前端都是用现成的js库和页面模板,对于vue.js等框架基本没有接触过。

只怪自己不会写java,最近做一个项目,负责前端,后台传来数据不分页,前端收到所有数据后自己分页。我尽是无语。

正好最近在看vue.js。这个页面就用它来实现吧。顺便总结下。

效果图:

12a7e0ba3a2f4793c08c54637cd4db64.png

语法:

数据绑定 {{...}}或者v-model

{{dataItem.id}}

事件绑定 v-on

ID

循环 v-for

{{item}}

判断 v-if

首页

过滤器 Vue.filter

//定义

Vue.filter( 'name' , function(value) {

return value * .5 ;

});

//使用

{{dataItem.age | name}}

排序orderBy

{{dataItem.id}}{{dataItem.name}}{{dataItem.age}}

html

ID姓名年龄
{{dataItem.id}}{{dataItem.name}}{{dataItem.age}}

{{item}}

首页

上一页

{{item}}

...

{{item}}

...

{{item}}

下一页

尾页

{{pageCurrent}}/{{pageCount}}

javascript

//只能输入正整数过滤器

Vue.filter('onlyNumeric', {

// model -> view

// 在更新 `` 元素之前格式化值

read: function (val) {

return val;

},

// view -> model

// 在写回数据之前格式化值

write: function (val, oldVal) {

var number = +val.replace(/[^\d]/g, '')

return isNaN(number) ? 1 : parseFloat(number.toFixed(2))

}

})

//模拟获取数据

var getData=function(){

var result = [];

for (var i = 0; i < 500; i++) {

result[i] ={name:'test'+i,id:i,age:(Math.random()*100).toFixed()};

}

return result;

}

var vue = new Vue({

el: "#test",

//加载完成后执行

ready:function(){

this.arrayDataAll = getData();

this.totalCount = this.arrayDataAll.length;

this.showPage(this.pageCurrent, null, true);

},

data: {

//总项目数

totalCount: 200,

//分页数

arrPageSize:[10,20,30,40],

//当前分页数

pageCount: 20,

//当前页面

pageCurrent: 1,

//分页大小

pagesize: 10,

//显示分页按钮数

showPages: 11,

//开始显示的分页按钮

showPagesStart: 1,

//结束显示的分页按钮

showPageEnd: 100,

//所有数据

arrayDataAll:[],

//分页数据

arrayData: [],

//排序字段

sortparam:"",

//排序方式

sorttype:1,

},

methods: {

//分页方法

showPage: function (pageIndex, $event, forceRefresh) {

if (pageIndex > 0) {

if (pageIndex > this.pageCount) {

pageIndex = this.pageCount;

}

//判断数据是否需要更新

var currentPageCount = Math.ceil(this.totalCount / this.pagesize);

if (currentPageCount != this.pageCount) {

pageIndex = 1;

this.pageCount = currentPageCount;

}

else if (this.pageCurrent == pageIndex && currentPageCount == this.pageCount && typeof (forceRefresh) == "undefined") {

console.log("not refresh");

return;

}

//处理分页点中样式

var buttons = $("#pager").find("span");

for (var i = 0; i < buttons.length; i++) {

if (buttons.eq(i).html() != pageIndex) {

buttons.eq(i).removeClass("active");

}

else {

buttons.eq(i).addClass("active");

}

}

//从所有数据中取分页数据

var newPageInfo = [];

for (var i = 0; i < this.pagesize; i++) {

var index =i+(pageIndex-1)*this.pagesize;

if(index>this.totalCount-1)break;

newPageInfo[newPageInfo.length] = this.arrayDataAll[index];

}

this.pageCurrent = pageIndex;

this.arrayData = newPageInfo;

//计算分页按钮数据

if (this.pageCount > this.showPages) {

if (pageIndex <= (this.showPages - 1) / 2) {

this.showPagesStart = 1;

this.showPageEnd = this.showPages - 1;

console.log("showPage1")

}

else if (pageIndex >= this.pageCount - (this.showPages - 3) / 2) {

this.showPagesStart = this.pageCount - this.showPages + 2;

this.showPageEnd = this.pageCount;

console.log("showPage2")

}

else {

console.log("showPage3")

this.showPagesStart = pageIndex - (this.showPages - 3) / 2;

this.showPageEnd = pageIndex + (this.showPages - 3) / 2;

}

}

}

//排序

},sortBy: function (sortparam) {

this.sortparam = sortparam;

this.sorttype = this.sorttype == -1 ? 1 : -1;

}

}

});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福建计算机及应用专业的大学,33所福建大学公布国家级/省级一流本科专业!

近日&#xff0c;教育部发布《教育部办公厅关于公布2020年度国家级和省级一流本科专业建设点名单的通知》。据悉&#xff0c;本次教育部一流本科专业建设“双万计划”评选共认定了3977个国家级一流本科专业建设点&#xff0c;其中中央赛道1387个、地方赛道2590个&#xff0c;并…

高度有用的Java ChronoUnit枚举

几年前&#xff0c;我发表了博客文章“ The Highly有用的Java TimeUnit Enum ”&#xff0c;其中介绍了JDK 5引入的TimeUnit枚举。 JDK 8引入了一个更新的枚举ChronoUnit &#xff0c;它比TimeUnit更适合于诸如日期/时间操作等并发以外的上下文。 位于所述java.time.temporal包…

计算机管理ap,如何设置AC功能管理无线AP

AC功能管理无线AP第一步、连接ap举例型号TL-ER6520G不同类型的AP供电方式可能有所差异&#xff0c;包括直流电源供电和网线供电(PoE供电)两种。如下[1] 直流电源供电使用自带的电源适配器给AP供电&#xff0c;要求AP安放位置必须有电源插座&#xff0c;优点是节省成本。按照拓扑…

代表机械 计算机技术的颜色,基于机器视觉识别的交通灯控制系统

1、引言机器视觉又称计算机视觉&#xff0c;是用计算机来实现人的视觉功能&#xff0c;也就是用机器代替人眼来做测量和判断。机器视觉技术包含光源照明技术、光成像技术、传感器技术、数字图像处理技术、机械工程技术、检测控制技术、模拟与数字视频技术、计算机技术、人机接口…

java开发者工具开源版_JArchitect对Java开源贡献者免费

java开发者工具开源版JArchitect是用于Java代码库的静态分析工具&#xff0c;它提供交互式GUI和HTML报告&#xff0c;用于查找代码中过于复杂或有问题的区域&#xff0c;执行分析以重构并比较随时间的变化。 在版本3中&#xff0c;添加了类似LINQ的查询语言&#xff0c;该工具使…

有没有查计算机组成的答案得,计算机组成答案.doc

黄淮学院计算机科学系2008—2009年第二学期2007级《计算机组成原理》期终试卷(A)参考答案及评分标准命题人&#xff1a;王晓涓注意事项&#xff1a;本试卷适用于2007级软件工程专业本科学生使用一、单项选择题(每题1分、共15分)1、B 2、B 3、A 4、D 5、A 6、D 7、D 8、C 9、C 1…

使用JDK 8将收藏转换为地图

我多次遇到这样的情况&#xff0c;希望将多个对象存储在Map中而不是Set或List中&#xff0c;因为将唯一标识信息的Map应用于对象有一些优势 。 Java 8使用流和Collectors.toMap&#xff08;…&#xff09;方法使翻译变得比以往更加容易。 使用Map而不是Set的一种有用情况是&am…

计算机上没有启动程序怎么办,Win7开机不加载启动项怎么办

现在的电脑为了受到更好的保护&#xff0c;往往在开机的时候就加载了一些启动项&#xff0c;如&#xff1a;杀毒软件&#xff0c;安全卫士等等。可有时候会发现&#xff0c;在Win7操作系统中&#xff0c;安装后发现不能开机加载启动项。在注册表中&#xff0c;在msconfig中&…

车牌识别与计算机编程,基于计算机视觉的车牌字符识别技术的研究

摘要&#xff1a;车牌识别系统是现代智能交通管理系统的核心组成部分,是图像处理、神经网络和模式识别等技术的综合应用。 本文介绍了车牌识别系统的一般构成,包括车牌图像预处理、车牌字符分割和车牌字符识别等三个重要组成部分,并分别进行深入研究。 车牌图像预处理方面,针对…

线程同步,线程不同步_重新同步多线程集成测试

线程同步,线程不同步我最近在Captain Debug的Blog上偶然发现了一篇文章“ 同步多线程集成测试 ”。 那篇文章强调了设计涉及异步运行业务逻辑的被测类的集成测试的问题。 给出了这个人为的示例&#xff08;我删除了一些评论&#xff09;&#xff1a; public class ThreadWrapp…

用户需求测试软件,用户需求和软件需求的区别

原标题&#xff1a;用户需求和软件需求的区别一些刚实施GJB5000A组织的开发人员&#xff0c;不是很理解软件研制任务书和软件需求规格说明的区别。这里再次解读下这个问题。软件研制任务书就是用户需求&#xff0c;而用户需求是从用户的角度&#xff0c;用用户熟悉的语言进行描…

在Java中使用可信时间戳

受信任的时间戳记是使受信任的第三方&#xff08;“时间戳记权威”&#xff0c;TSA&#xff09;以电子形式证明给定事件的时间的过程。 欧盟法规eIDAS赋予了这些时间戳合法的力量-即&#xff0c;如果事件带有时间戳&#xff0c;则没有人可以质疑事件的时间或内容。 它适用于多种…

无限滚动重置服务器,简单无限滚动的实现

在使用elementUI组件库的时候&#xff0c;用到了无限滚动这个功能。我没有看源码&#xff0c;直接在网上学习了下实现的思路&#xff0c;然后自己手动编码以下。在此总结下。假设页面上有一个盒子容器&#xff0c;容器内有一些子元素。容器的高度是固定的&#xff0c;有纵向滚动…

java配置openjdk_Java大新闻不断涌现:Java SE 6和OpenJDK

java配置openjdk我最近公布的最新的Java 8新闻 &#xff0c;总结了一些最近的事态发展中的Java 8 。 自从发布该文章不到一周&#xff0c;就发布了更多重要的Java新闻报道&#xff0c;我在本文中总结了其中的一些内容。 共同的主题包括不同的Java SE 6实现和OpenJDK 。 Java安…

Fatjars,Thinwars以及为什么OpenLiberty很酷

法特哈斯 构建一个Fatjar&#xff08;或Uberjar&#xff09;&#xff0c;其中包含将应用程序很好地打包在一起运行所需的一切&#xff0c;这意味着您可以&#xff1a; java -jar myapp.jar然后离开。 没有应用程序服务器。 没有类路径。 这种方法已经被诸如Springboot之类的微…

Spring Cloud Config Server简介

1.概述 在本教程中&#xff0c;我们将回顾Spring Cloud Config Server的基础知识。 我们将设置一个Config Server &#xff0c;然后构建一个客户端应用程序 &#xff0c;该客户端应用程序在启动时会消耗配置 &#xff0c;然后刷新配置而不重新启动。 我们正在构建的应用程序与《…

朴素贝叶斯算法实现分类以及Matlab实现

开始 其实在学习机器学习的一些算法&#xff0c;最近也一直在看这方面的东西&#xff0c;并且尝试着使用Matlab进行一些算法的实现。这几天一直在看得就是贝叶斯算法实现一个分类问题。大概经过了一下这个过程&#xff1a; 看书→算法公式推演→网上查询资料→进一步理解→搜…

编写自定义的AssertJ断言

AssertJ是广泛使用的Hamcrest匹配器的替代匹配库。 实际上&#xff0c;对于我自己的项目&#xff0c;我已经更改为仅使用AssertJ-我只是发现流畅的界面和可扩展性非常吸引人。 您可以编写自定义断言&#xff0c;如下所示&#xff1a; 想象一下一种具有强度和饮料类型的咖啡 &…

LintCode-A + B 问题

文章转载 http://blog.csdn.net/wangyuquanliuli/article/details/47755461 给出两个整数a和b, 求他们的和, 但不能使用 等数学运算符。 您在真实的面试中是否遇到过这个题&#xff1f; Yes样例 如果 a1 并且 b2&#xff0c;返回3 注意 你不需要从输入流读入数据&#xff0c;…

位操作基础篇之位操作全面总结

转载自 http://blog.csdn.net/morewindows/article/details/7354571 Title: 位操作基础篇之位操作全面总结 KeyWord: C/C 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试 位操作篇共分为基础篇和提高…