You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular表格分页:如何结合slice与页码索引实现每页10条展示?

Angular表格分页:基于slice管道实现每页10条数据

直接解决方案

把slice参数写成 slice: clickedIndex * 10 : (clickedIndex + 1) * 10 即可,Angular的slice管道会自动处理最后一页数据不足10条的情况,无需额外判断边界。

代码示例

模板代码(HTML)

先修正slice管道的语法(正确写法是| slice: start:end,而非括号形式):

<tr *ngFor="let cus of customers | slice: clickedIndex * 10 : (clickedIndex + 1) * 10">
  <!-- 表格列内容 -->
</tr>

TS代码

初始化clickedIndex为0,确保默认展示第一页:

clickedIndex = 0; // 默认对应第1页

clickPage(page: IPaginator) {    
  this.clickedIndex = page.pageIndex;
}

原理说明

  • 点击第1页时,clickedIndex=0,slice范围是0:10,展示前10条数据;
  • 点击第2页时,clickedIndex=1,slice范围是10:20,展示第11-20条;
  • 到最后一页时,比如总数据有55条,clickedIndex=5对应的结束值是6*10=60,此时slice会自动截断到customers.length(即55),不会出现数组越界问题。

内容的提问来源于stack exchange,提问作者Moe-Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:25:04