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 相关文章推荐
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
Aug 25 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
在Node.js中使用Javascript Generators详解
May 05 Javascript
JavaScript中关于iframe滚动条的去除和保留
Nov 17 Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 Javascript
Node.js使用gm拼装sprite图片
Jul 04 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
Jul 22 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 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
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
python处理json数据中的中文
2014/03/06 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
python对Excel的读取的示例代码
2020/02/14 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
python上selenium的弹框操作实现
2020/07/13 Python
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
《海底世界》教学反思
2014/04/16 职场文书
清明节演讲稿
2014/05/27 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
PHP 时间处理类Carbon
2022/05/20 PHP