vue分页查询如何实现ajax分好一页几条数据了,分页接口为C
时间: 2024-11-22 22:34:14 浏览: 9
Vue分页查询通常通过前端向服务器发送请求时处理每页的数据量,这叫做分页参数(比如`limit`和`offset`)。当你需要获取第一页5条数据,你可以设置初始的`offset`为0,`limit`为5,然后每次点击下一页,动态更新这两个值。
例如:
```javascript
data() {
return {
currentPage: 1, // 当前页数,默认为第一页
itemsPerPage: 5, // 每页显示的记录数
totalItems: 0, // 总记录数,开始时可能为0
allItems: [], // 存放所有数据的数组
};
}
methods: {
fetchData(page) {
const offset = (page - 1) * this.itemsPerPage; // 计算偏移量
fetch('C/api/v1/data?page=' + page + '&limit=' + this.itemsPerPage)
.then(response => response.json())
.then(data => {
this.totalItems = data.total;
this.allItems = [...this.allItems, ...data.data]; // 添加新数据到总数组
this.currentPage = page; // 更新当前页
})
.catch(error => console.error('Error fetching data:', error));
},
// 分页导航
nextPage() {
if (this.currentPage < this.getTotalPages()) { // 如果还有下一页
this.fetchData(this.currentPage + 1);
}
},
previousPage() {
if (this.currentPage > 1) { // 如果不是第一页
this.fetchData(this.currentPage - 1);
}
},
}
// 初始化数据
created() {
this.fetchData(1); // 获取第一页数据
}
```
在这个例子中,当用户点击"下一页",`nextPage`方法会被调用,会计算新的偏移量并发送AJAX请求获取下一页数据。关键在于要维护好`allItems`和`currentPage`的状态,以及计算总页面数`getTotalPages()`。
阅读全文