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 相关文章推荐
用js实现的抽象CSS圆角效果!!
May 03 Javascript
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
Javascript图像处理—为矩阵添加常用方法
Dec 27 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 Javascript
通过一段代码简单说js中的this的使用
Jul 23 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
深入理解Node中的buffer模块
Jun 03 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
js实现坦克大战游戏
Feb 24 Javascript
vue自定义树状结构图的实现方法
Oct 18 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
php调用mysql存储过程
2007/02/14 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
php 发送带附件邮件示例
2014/01/23 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
[JS]点出统计器
2020/10/11 Javascript
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
js实现小星星游戏
2020/03/23 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
Python标准库os.path包、glob包使用实例
2014/11/25 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
JPA的特点
2014/10/25 面试题
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
餐厅开业活动方案
2019/07/08 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
Nginx 常用配置
2022/05/15 Servers