vue中使用 vue-socket.io 的三种方式及采坑记录

本文介绍了在Vue项目中使用vue-socket.io进行分页加载、按钮加载和滚动加载的实现方法,包括代码实现、效果预览和注意事项。详细讲解了如何封装这三种加载方式,为前端开发者提供了实用的参考。
摘要由CSDN通过智能技术生成

导语:最近由于一些事情需要处理,所以没来得及写技术总结了。今天终于可以坐下来好好的梳理一下脉络,说一下那个在日常前端开发过程中,常用到的页面列表加载的方法总结。这里介绍三种方法,分别是分页加载、按钮加载以及滚动加载。

目录

  • 方法简介
  • 代码实现
  • 效果预览

方法简介

在日常的前端开发过程中,我们经常会碰到列表很长,不可能完全显示出来,所以就要进行分页,每页固定显示几条,然后下面是页数,点到哪页显示哪页的内容。

除了常见的分页加载外,还要点击按钮加载,这种加载方法就是不需要点击下一页这种了,直接点击按钮往第一页的后面补上下一页的内容,非常方便。

除了以上两种,滚动加载也是用的比较多的一种列表加载方法,下面就这三种方法做一下总结归纳,方便需要的小伙伴们使用。

封装实现

下面就对三种方法分别做一下原理解析和方法实现。

下面的列表使用了JSONPlaceholder站点上的一些数据作为列表来源。

分页加载

当页面的需求是要显示一个列表或者表格,总数很多放不下,这时候可以把全部的数据分成多页,每页显示固定的条数,计算出总页数,然后渲染一下就可以了。

  • 页面布局
<div class="wrap"><ul id="list"></ul><ul id="pages"></ul>
</div> 
.wrap {max-width: 960px;margin: 0 auto;padding: 15px 0;
}

.wrap li {padding: 5px 0;list-style: square;
}

.wrap li h3,
.wrap li p {text-transform: capitalize;
}

.wrap li h3:hover {color: #f00;cursor: pointer;
}

#pages li {display: inline-block;margin-right: 10px;list-style: none;
}

#pages button {width: auto;min-width: 40px;height: 40px;background: #fff;box-shadow: 0 0 5px #fff;border: 1px solid #ccc;border-radius: 5px;font-size: 16px;
}

#pages button:hover,
#pages button.active {color: #fff;border-color: #f00;background: #f00;cursor: pointer;
}

#pages button.dis {cursor: no-drop;
}

.wrap .loading {line-height: 70vh;text-align: center;list-style: none;
}

.wrap .nodata {list-style: none;text-align: center;
} 
  • 定义变量
let datas = [], // 分组列表
current = 1, // 当前页
pages = 0, // 总页数
total = 0, // 总数
listElem = document.getElementById('
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值