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 相关文章推荐
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
Sep 15 Javascript
JavaScript中的eval()函数详解
Aug 22 Javascript
jquery选择器之基本过滤选择器详解
Jan 27 Javascript
浅谈页面装载js及性能分析方法
Dec 09 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
Jun 03 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
Apr 19 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
vue远程加载sfc组件思路详解
Dec 25 Javascript
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
微信小程序如何获取地址
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
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
Yii快速入门经典教程
2015/12/28 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
详解vue组件基础
2018/05/04 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
反邪教标语
2014/06/23 职场文书
商场周年庆活动方案
2014/08/19 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
早安问候语大全
2015/11/10 职场文书
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL
Go语言空白表示符_的实例用法
2021/07/04 Golang