vue实现分页加载效果


Posted in Javascript onDecember 24, 2019

本文实例为大家分享了vue分页加载的具体代码,供大家参考,具体内容如下

vue实现分页加载效果

HTML

<!-- 商品 页数-->
 <div class="pagenavi">
  <div class="all-number">
  <span>共{{data.length}}个商品</span>
  </div>
  <p class="pageArea" data-countpage="1">
  <span class="colf22e01 fontT">{{pages}}</span>
  /
  <span class="page_count fontT">{{total}}</span>
  </p>
 </div>
 <div class="clear-b"></div>
 </div>
 
 <!--限制加载数量-->
 <ul class="cata_choose_product clearfix">
 <!--渲染数据  从那个下标开始加载-->
 <li v-for="(value,index) in data" v-if="index < 5">
  <div class="nosinglemore"></div>
  <div class="listbox clearfix">
   <div class="listPic">
   <router-link target="_blank" to="/goods_detail">
    <img :src="value.image" class="fn_img_lazy">
   </router-link>
   </div>
  <div class="listDescript">
   <router-link target="_blank" to="/goods_detail" class="text13">{{value.name}}</router-link>
   </div>
  <div class="cat-shopprice lf">
  <p><span>¥{{value.price}}</span></p>
  </div>
   <div class="cat-addcart lf">
   <div class="cart_wrapper">
    <router-link target="_blank" to="/goods_detail">查看详情</router-link>
   </div>
   </div>
   <div class="clear-b"></div>
  </div>
 </li>
 <div class="clear-b"></div>
 </ul>
 
 <!--分页器-->
<div class="box">
 <div class="box_one">
  <div @click="shan">上一页</div>
  <!--动态生成页数标签-->
  <div class="box_cen">
  <div v-for="(value,index) in total" class="box_foot">
  <span @click="yesu" :id="index">{{index+1}}</span>
  </div>
  </div>
  <div @click="xia">下一页</div>
 </div>
</div>

js

data(){
 return{
 data:"",//页面数据
 num:0,
 pages:1,//当前页数
 priceQuery:false,//价格排序判断
 Total:"",//总页数(向上取整)
 initial:4,//默认加载数量
 total:"",//最终页数
 }
 },
 created(){
 //获取初始数据
 axios.get("'../../static/mock/data.json").then(res=>{
 this.Total = res.data.goods[0].foods.length;
 var arr = [];
 //限制获取数据量
 for(var i=0;i<this.initial;i++){
 //加载数据  页数+数量
 arr.push(res.data.goods[0].foods[this.num+i]);
 }
 this.data = arr;
 this.total = Math.ceil(this.Total/this.data.length);
 }).catch(err=>{
 console.log(err);
 }); 
 },
 methods:{
 //下一页
 xia(){
 //页数++
 if(this.pages == this.total){
  this.pages = this.total;
 }else{
  this.pages++;
 }
 //从 加载数据 下标+数量
 this.num = (this.pages-1)*this.initial;
 this.sua();
 },
 //上一页
 shan(){
 if(this.pages == 1){
  this.pages = 1;
 }else{
  this.pages--;
 }
 this.num = (this.pages-1)*this.initial;
 this.sua();
 },
 //刷新数据
 sua(){
 axios.get("'../../static/mock/data.json").then(res=>{
 var arr = [];
 //限制获取数据量
 for(var i=0;i<this.initial;i++){
 //判断数据是否有undefined,有undefined会报错无法加载
 if(res.data.goods[0].foods[this.num+i] != undefined) arr.push(res.data.goods[0].foods[this.num+i]);
 }
 this.data = arr;
 }).catch(err=>{
 console.log(err);
 }); 
 },
 //页数选择
 yesu(e){
// console.log(e.target.id);
 this.num = (e.target.id)*4;
 this.pages = Number(e.target.id)+1;
 this.sua();
 },

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

Javascript 相关文章推荐
javascript 简练的几个函数
Aug 29 Javascript
Jquery调用webService远程访问出错的解决方法
May 21 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
给before和after伪元素设置js效果的方法
Dec 04 Javascript
Boostrap实现的登录界面实例代码
Oct 09 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
ES6基础之默认参数值
Feb 21 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
layui-table对返回的数据进行转变显示的实例
Sep 04 Javascript
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 Javascript
微信小程序如何获取地址
Dec 24 #Javascript
浅析vue-router中params和query的区别
Dec 24 #Javascript
JavaScript实现英语单词题库
Dec 24 #Javascript
iSlider手机端图片滑动切换插件使用详解
Dec 24 #Javascript
微信小程序自定义模态弹窗组件详解
Dec 24 #Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 #Javascript
javascript实现鼠标点击生成文字特效
Dec 24 #Javascript
You might like
15种PHP Encoder的比较
2007/04/17 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP安全上传图片的方法
2015/03/21 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
python并发编程之线程实例解析
2017/12/27 Python
python是否适合网页编程详解
2019/10/04 Python
Python3列表List入门知识附实例
2020/02/09 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
幼儿园庆六一活动方案
2014/03/06 职场文书
班子四风对照检查材料
2014/08/21 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书