- 27
- 0
背景:
<script>方式引入了 vue elementui axios 并非vue-cli项目
html结构
`
<script src="../../Content/Table/js/axios.js"></script>
<div class="pagination">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="currentPage" :page-size="size" layout="total, sizes,jumper,->,prev, pager, next"
:total="100"></el-pagination>
</div>
<script>
new Vue({
el: '#app',
data: function () {
return {
currentPage: 1,
size: 10,
form: {
roleName: "",
value2: "",
name: 2,
pro: 2
}
}
},
methods: {
//翻页
handleCurrentChange(currentPage) {
this.currentPage = currentPage;
console.log(currentPage);
let size = this.size;
params = { currentPage, size }
window.$query('http://192.168.1.131:81/sys/sysUser/getDataList', params).then(res => {
console.log("分页查询返回值2222", res.data);
}).catch(err => {
console.log(err);
});
},
//更改每页条数
handleSizeChange(size) {
this.size = size;
this.currentPage = 1;
let currentPage = this.currentPage;
params = { currentPage, size }
window.$query('/sysUser/getDataList', params).then(res => {
console.log("分页查询返回值2222", res.data);
}).catch(err => {
console.log(err);
});
},
//查询
handleQuery() {
console.log(this.form);
let form = this.form;
window.$query('/sysUser/getDataList', { query: form }).then(res => {
console.log("分页查询返回值2222", res.data);
}).catch(err => {
console.log(err);
});
},
}
})
</script>
`
axios.js
`
(function (win) {
var Request = axios.create({
timeout: 10000
})
// axios.defaults.headers.token = "";
Request.interceptors.request.use((config) => {
console.log(config);
return config;
})
Request.interceptors.response.use((response) => {
console.log(response);
return response;
}, (err) => {
console.log(err);
return err;
})
win.$request = Request;
win.$query = function (url = '', params = null){
var currentPage = 1;
var size = 10;
var queryParams={};
// console.log(123,params);
if (params) {
// 传入查询参数时需要重置currentPage
currentPage = 1;
queryParams = Object.assign({}, params);// 缓存查询参数
}
var data = Object.assign({}, queryParams, {
size:params.size,
currentPage:params.currentPage
});
console.log("全局查询参数",data);
return $request.post(url, data).then((res) => {
return res;
});
}
})(window)
`
因为不是脚手架的项目 所以没有办法用mixins方式混入到组件中,目前只能这样写
想要实现的需求是
如果有查询条件,给后台传递的参数是
{
"currentPage": 1,
"query": {
"userName": "lomo",
"enabled": 1,
"sex": 1
},
"size": 10,
"sort": {}
}
并且 带查询条件查询之后 每次翻页的时候 还需要带着查询条件
如果没有查询条件
{
"currentPage": 1,
"size": 10,
}
但是目前这种写法 有查询条件的时候 currentPage size 都是undefined
而且感觉写的有点繁琐 希望能精简优化一下
求教如何改造
我的想法是 如果axios.js 能访问 html里面 vue data里的size currentPage就好了
- 共 0 条
- 全部回答
-
天下孤言 普通会员 1楼
优化分页查询是一个复杂的问题,因为它涉及到数据库的性能和优化策略。以下是一些基本的优化建议:
-
选择正确的查询结构:使用索引可以帮助你快速查询特定的行,而不是整个表。你也可以考虑使用JOIN语句而不是子查询,以减少查询的时间。
-
使用正确的JOIN类型:如果你的查询涉及到多个表的JOIN,那么使用JOIN类型可以帮助你减少查询的时间。例如,使用INNER JOIN而不是LEFT JOIN可以减少查询的时间。
-
分组和分页:如果查询的结果是分组的,那么使用GROUP BY语句可以帮助你更快地查询结果。如果查询的结果是分页的,那么使用LIMIT语句可以帮助你限制返回的数据量。
-
使用索引:如果你的查询涉及到大量数据,那么使用索引可以帮助你更快地查询数据。你可以为经常用于查询的列创建索引。
-
避免全表扫描:全表扫描是一种无效的查询,因为它会扫描整个表来获取结果。相反,你可以使用索引来避免全表扫描。
-
使用缓存:如果你的查询经常返回相同的结果,那么使用缓存可以帮助你更快地获取结果。
-
优化数据库服务器:如果你的数据库服务器性能不足,那么你可以考虑优化数据库服务器,例如增加硬件资源,调整数据库参数等。
-
使用数据库优化工具:有很多工具可以帮助你优化数据库查询,例如MySQL的EXPLAIN语句,SQL Server的EXPLAIN分析器等。
以上只是一些基本的优化建议,具体的优化策略可能需要根据你的数据库的特性和你的业务需求来定制。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

