ng-repeat,每隔n次显示重复块的项目

时间:2017-10-28 13:22:32

标签: angularjs

<div ng-repeat="item in items">
    <div ng-if="need something here i.e. $index = ...">
    </div>
    ..data..
</div>

所以我有上述模式。从服务器获取items列表。按下&#34;加载更多&#34;按钮,第二页被拉。默认情况下,一页包含8个项目。但这可以由用户指定,因此可以将其设置为不同的值(例如9,10)。取默认值8,$ index值对于第1页看起来如下:

0
1
2
3
4
5
6
7

如果拉出更多页面:

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
... and so one

我想对某些内容应用ng-if,以便在块上每隔4个项目显示一次。因此,它遵循以下公式:3 + i*(total_items_per_page)。因此,对于total_items_per_page = 8

时的列表
0
1
2
3
  <--- here
4
5
6
7
8
9
10
11
  <--- here
12
13
14
15
16
17
18
19
  <--- here
20
21
... and so one

我尝试了$index == (page_number-1)*total_items_per_page + 3,但这很有用,但显然会在按下更多内容时删除当前页面上方的项目。希望解决这个问题或寻求更好的解决方案。

编辑:我也试图避免使用预定义数组,以使变量total_items_per_page值尽可能灵活

1 个答案:

答案 0 :(得分:1)

你可以使用它,它对所有情况都是正确的,4,12,20,28 ......:

$value = $request->input('bit') ? 1 : 0;

$bit = new Bit;
$bit->bit = $value;
$bit->save();