当前位置: 首页 > news >正文

Node+Express写分页接口

后端逻辑

router.js文件

const express = require('express');
const router = express.Router();//导入函数处理,数据
const articleMessage = require('../router_handle/artcle')//文章列表
router.get('/list',articleMessage.articleList)module.exports = router;

router_handle.js

const db = require('../db/index')
//选择指定要连接的数据库
db.changeUser({ database: "page" }, (err) => {if (err) throw err;
});
// 获取文章列表 -- 分页
exports.articleList = (req, res) => {const { page, pageSize } = req.query; // 获取前端传递的page和pageSize参数  //查看总有多少条数据const articleSqlTotal = `select * from article ` //按照id排序,返回列表//总条数var total = 0db.query(articleSqlTotal, (err, result) => {if (err) return res.send({ code: 0, msg: err.message })total = result.length})// 构建分页查询语句  //const articleSql = `SELECT * FROM article ORDER BY id LIMIT ${pageSize} OFFSET ${(page - 1) * pageSize}`;const articleSql = `SELECT * FROM article ORDER BY id LIMIT ${pageSize}  OFFSET ${(page - 1) * pageSize}`;db.query(articleSql, (err, result) => {if (err) return res.send({ code: 0, msg: err.message });res.send({ code: 1, data: result, msg: '获取成功!', total: total });});
};

前端页面

使用组件库element-plus组件的分页器

<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @prev-click="getList()" @next-click="getList()" background v-model:page-size="pageSize" v-model:current-page="page"layout="prev, pager, next,sizes" :total="total" />

处理方法

 data() {return {total: 0,page: 1,pageSize: 10,};},
methods:{//这个是监听到一页展示多少条数据的控制监听函数handleSizeChange(val) {this.pageSize = val;this.getList();},//这个是监听点击哪一页就跳转到哪一页的监听函数handleCurrentChange(number){this.page = number;this.getList()},//调用分页传参,也可直接传一个对象,例如queryparams:{},直接将queryparams传入其中getList() {ArticleListApi({page: this.page,pageSize: this.pageSize,}).then((res) => {if (res.data.code == 1) {this.tableData = res.data.data;this.total = res.data.total;}if (res.data.code == 401) {this.$message({type: "error",message: res.data.msg,duration: 1000,onClose: () => {router.replace("/login");},});}});},
}

http://www.lryc.cn/news/289997.html

相关文章:

  • ifconfig 主机ip url记录
  • RT-Thread: STM32 SPI使用流程
  • Qt 基于海康相机 的视频标绘
  • 【UEFI实战】Redfish的BIOS实现——生成EDK数据
  • VUE--VUEX
  • 【NodeJS】004- NodeJS的模块化与包管理工具
  • Linux浅学笔记02
  • 速盾:服务器CDN加速配置的技术文章
  • 【服务器Midjourney】创建部署Midjourney网站
  • 羊奶的营养成分和食疗价值
  • 23寒假预备役第二次测试
  • 测试用例相关问题
  • scrapy的入门使用
  • 网络爬虫详解
  • 一个SSE(流式)接口引发的问题
  • 开发工具之GIT协同开发流程和微服务部署实践与总结
  • 数据库操作
  • MySQL-删除重复数据
  • Android Handler完全解读
  • 群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源
  • vmstat 监控虚拟内存,进程,CPU
  • C++: 内联函数
  • ctfshow web72
  • 你想要一个什么样的gpt?高准确度和可靠性 问题解答 自主完成任务(智能体) 解决贫困 战争 难题 公平的价值体系
  • VUE中一些概念的理解
  • 【ArcGIS遇上Python】python实现批量XY坐标生成shp点数据文件
  • 【C语言】(7)输入输出
  • 数据结构——链式二叉树
  • SpringSecurity笔记
  • 常见递归算法题目整理