如何限制 ng-repeat 中的迭代
How to limit iterations in ng-repeat
我想将迭代限制在 ng-repeat
范围之间。现在我已经尝试为范围添加过滤器,但根据我的要求,它有点缺乏。这是我的 html.
<ul ng-repeat="pitem in ParentArray">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem}">{{citem}}</li>
</ul>
如您所见,ChildArray
是根据 ChildArray
中的 pcategory
过滤的。现在我想将 ChildArray
限制为前 8 次迭代。在 8 个项目之后,我们有一个按钮 More Items
。问题是如果我们限制 ChildArray,<h4>{{pitem...
就会在那里。我也想隐藏
例如,这里有三个父项 p1、p2、p3,p1 有 4 个子项,p2 和 p3 有 6 个和 10 个子项。因此,将 ChildArray 限制为 8,然后将显示 p1 的 4 个项目、p2 的 4 个项目。我将根据解决方案在单击 More Items
按钮时显示 p3。
编辑
p1、p2 和 p3 具有如下子项目,如上所述。
p1 - c1 to c4
p2 - c1 to c6
p3 - c1 to c10
使用limitTo:8
会显示下面的结果
<li ng-repeat="citem in ChildArray|limitTo:8|filter:{pcategory:pitem}">{{citem}}</li>
p1 - c1 c2 c3 c4
p2 - c1 c2 c3 c4
p3
所需的输出是
p1 - c1 c2 c3 c4
p2 - c1 c2 c3 c4
您可以看到 p3 不存在。这是 jsfiddle
<ul ng-repeat="pitem in ParentArray">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem} | limitTo: 8">{{citem}}</li>
</ul>
angular 有一个 limitTo
过滤器用于限制 ng-repeat
。如果您还需要应用 filter
可以在 limitTo
前面添加它
正如评论中'digit'所说,我添加了这段代码。
<ul ng-repeat="pitem in ParentArray" ng-if="(child|limitTo:8|filter:{parent:pitem}).length>0">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem}">{{citem}}</li>
</ul>
我想将迭代限制在 ng-repeat
范围之间。现在我已经尝试为范围添加过滤器,但根据我的要求,它有点缺乏。这是我的 html.
<ul ng-repeat="pitem in ParentArray">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem}">{{citem}}</li>
</ul>
如您所见,ChildArray
是根据 ChildArray
中的 pcategory
过滤的。现在我想将 ChildArray
限制为前 8 次迭代。在 8 个项目之后,我们有一个按钮 More Items
。问题是如果我们限制 ChildArray,<h4>{{pitem...
就会在那里。我也想隐藏
例如,这里有三个父项 p1、p2、p3,p1 有 4 个子项,p2 和 p3 有 6 个和 10 个子项。因此,将 ChildArray 限制为 8,然后将显示 p1 的 4 个项目、p2 的 4 个项目。我将根据解决方案在单击 More Items
按钮时显示 p3。
编辑
p1、p2 和 p3 具有如下子项目,如上所述。
p1 - c1 to c4
p2 - c1 to c6
p3 - c1 to c10
使用limitTo:8
会显示下面的结果
<li ng-repeat="citem in ChildArray|limitTo:8|filter:{pcategory:pitem}">{{citem}}</li>
p1 - c1 c2 c3 c4
p2 - c1 c2 c3 c4
p3
所需的输出是
p1 - c1 c2 c3 c4
p2 - c1 c2 c3 c4
您可以看到 p3 不存在。这是 jsfiddle
<ul ng-repeat="pitem in ParentArray">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem} | limitTo: 8">{{citem}}</li>
</ul>
angular 有一个 limitTo
过滤器用于限制 ng-repeat
。如果您还需要应用 filter
可以在 limitTo
正如评论中'digit'所说,我添加了这段代码。
<ul ng-repeat="pitem in ParentArray" ng-if="(child|limitTo:8|filter:{parent:pitem}).length>0">
<h4>{{pitem}}</h4>
<li ng-repeat="citem in ChildArray|filter:{pcategory:pitem}">{{citem}}</li>
</ul>