gpt4 book ai didi

angularjs - 使用 Angular 过滤器计算组元素

转载 作者:行者123 更新时间:2023-12-04 23:20:30 24 4
gpt4 key购买 nike

是否可以使用 Angular 过滤器“groupBy”(https://github.com/a8m/angular-filter#groupby)来计算每个组中的元素以在“徽章”范围内使用(当然不使用执行“手动计数”的函数)

<div class="list-group" ng-repeat="(key, value) in directoryResult | groupBy: 'TableId'">
<a href="#" class="list-group-item active">
<span class="glyphicon glyphicon-transport"></span> {{convertTableid(key)}} <span class="badge">{{directoryResult.length}}</span>
</a>
<div class="list-group" ng-repeat="item in value">
<a href="#" class="list-group-item">
<span class="glyphicon glyphicon-transport"></span> {{item.Text}}
</a>
</div>
</div>

最佳答案

如果您执行以下操作:

ng-repeat="(key, value) in directoryResult | groupBy: 'TableId' as result"

然后 result将是过滤后的变量。您可以检查组数的长度。

更新:

这是一个带有 groupBy 过滤器的 plunker。
http://plnkr.co/edit/8jB4wSRtKfVmEsTGZtfV?p=preview

我采用了我发现的现有过滤器(因为 angular 没有内置过滤器)并添加了一个长度属性。结果正确显示。

更新 2:
另一个笨蛋:
http://plnkr.co/edit/iwUkIMjvevja7KyfTrFC?p=preview

由于 angular-filter 不提供长度属性,你必须自己用 Object.keys 来计算它
<div>Number of groups: {{numGroups(result) }} </div>

JS:
$scope.numGroups = function(input){
return Object.keys(input).length;
}

更新 3:
结果包含一个对象字面量:每个属性都被命名为“key”,其值是列表的一个子组。所以运行的解决方案是:
<div>Number of groups: {{numGroups(result[key]) }} </div>

更新 4
最后我们可以完全摆脱 numGroups 函数,直接使用:
<div>Number of groups: {{result[key].length}} </div>

所以你的第一个想法是好的,我只需将它改编为我的 groupBy 返回一个包含所有分组列表的对象文字。

关于angularjs - 使用 Angular 过滤器计算组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28280957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com