我对Angular很新,我想知道是否有办法将ngFor循环增加2而不是1。
我正在尝试在分页中实现两个分页,其中循环增加为2。
我正在获取具有in的对象。让我们说用户和他们的地址列表。
(首先是NgFor将用户分页为2.如果我有15个用户。将在一个页面中显示2个用户)
li *ngFor="let user of Users | paginate: { itemsPerPage: 1, currentPage: p };let i = index"
{{user[i].firstName}} <--Displaying first userName-->
(第二个NgFor是显示第一个用户的地址列表。让我说他有20个地址。我将把它切成3或4个页面并对其余部分进行分页)
*ngFor="let address of user[i].address| objectValues |slice:addresspageNumber*2-2:addressPageNumber*5 ; let j = index "
<--First child Pagination code-->
{{user[i+1].firstName}} <--Displaying second userName-->
(第三个NgFor是显示第二个用户的地址列表。让我说他有20个地址。我将把它切成3或4个页面并对其余部分进行分页)
*ngFor="let address of user[i+1].address| objectValues |slice:addresspageNumber*2-2:addressPageNumber*5 ; let j = index ">
<th scope="row">{{address.streetno}}
<--Second child Pagination code-->
<--Parent Pagination code-->
现在,如果我不将第一个ngFor增加2,在下一页中将再次显示第二个用户,我不想这样做。
我要么必须增加2,要么分别为两个孩子实施分页,我不能在一个for循环中进行分页
我想要的只是一个分页中实现的两个单独的分页
Object1.name object1.address.street object1.address.pin - 分页以显示其他地址。
Object2.name object2.address.street object2.address.pin - 显示其他地址的第二个分页。 - 主页分页,点击后会显示另外两个对象详细信息
答案 0 :(得分:1)
增加2
<div *ngFor="let item of items; let even = even;">
<div *ngIf="even">
// content
</div>
答案 1 :(得分:0)
我认为你不能将*ngFor
增加2,因为它的目的是显示一个数组类型的数据;加上我真的不了解你的要求。
但是,您可以将*ngIf
与%
运算符结合使用,以便不对每个第二个条目做出反应。
这可以完成这项工作
<li *ngFor="let item of items; let i = index">
<span *ngIf="i % 2 === 0"> // or <ng-template if it is better here>
对于任何迭代大小都可以实现相同的效果。只需将2
替换为例如10
增加10。