写一份vue+axios处理后端返回的十万条数据的代码
时间: 2023-11-28 18:06:21 浏览: 87
好的,以下是一份简单的Vue+axios处理后端返回的十万条数据的代码示例:
```
<template>
<div>
<el-pagination
:current-page="currentPage"
:page-size="pageSize"
:total="total"
@current-change="getCurrentPageData"
></el-pagination>
<ul>
<li v-for="(item, index) in dataList" :key="index">{{ item }}</li>
</ul>
</div>
</template>
<script>
import axios from 'axios';
import { mapGetters } from 'vuex';
export default {
data() {
return {
dataList: [], // 数据列表
currentPage: 1, // 当前页码
pageSize: 20, // 每页显示的条数
total: 0 // 总条数
};
},
computed: {
...mapGetters('user', ['token'])
},
created() {
this.getCurrentPageData();
},
methods: {
// 获取当前页的数据
getCurrentPageData() {
axios.interceptors.request.use(
config => {
config.headers.Authorization = this.token;
return config;
},
error => {
return Promise.reject(error);
}
);
axios
.get(`/api/data?page=${this.currentPage}&pageSize=${this.pageSize}`)
.then(res => {
this.total = res.data.total;
this.dataList = res.data.list;
})
.catch(error => {
console.log(error);
});
}
}
};
</script>
```
上面的代码中,我们使用了element-ui的el-pagination组件进行分页显示,同时使用axios的拦截器设置请求的header中的token,并发送GET请求到后端获取数据。在返回数据后,我们将总条数和当前页的数据进行存储,使用v-for指令进行数据的渲染。在页面切换时,通过监听@current-change事件,获取当前页的数据,从而实现分页显示。
阅读全文