angularJs 唯一过滤器 - 未获得唯一数组长度
angularJs unique Filter - not getting unique array length
https://github.com/a8m/angular-filter/
我正在使用上面的 Angularjs-filter 库在 ng-repeat 中使用独特的 属性。
下面是我的代码
<div class="rankblock" ng-repeat="item in sports.Ranks.Rank |unique:'_position'>
<span> {{sports.Ranks.Rank.length}}</span> //
</div>
在 ng-repeat 中唯一后,我的 Rank 数组长度变为 6,但输出中仍显示 9(原始 Arr 长度)。
你可以参考https://github.com/a8m/angular-filter/blob/master/src/_filter/collection/unique.js这个过滤器返回一个新的对象数组。因此它不会改变您的原始对象。
过滤器在内部returns变成ng-repeat
一个新数组。这就是过滤器的思想——过滤但避免改变输入。换句话说:
ng-repeat="item in sports.Ranks.Rank | unique:'_position'
说 ng-repeat 遍历过滤函数的结果,这是一个没有重复的新数组,当这里
<span> {{sports.Ranks.Rank.length}}</span>
你还是看原文的长度
如果你想显示新的数组长度,你可以这样做,例如尝试以下
{{ (sports.Ranks.Rank | unique:'_position').length }}
(从来没有做过那样的事情,也许这行得通),但这仍然不是一个高效的解决方案。事实上,我要做的是在控制器级别进行重复数据删除。
https://github.com/a8m/angular-filter/
我正在使用上面的 Angularjs-filter 库在 ng-repeat 中使用独特的 属性。
下面是我的代码
<div class="rankblock" ng-repeat="item in sports.Ranks.Rank |unique:'_position'>
<span> {{sports.Ranks.Rank.length}}</span> //
</div>
在 ng-repeat 中唯一后,我的 Rank 数组长度变为 6,但输出中仍显示 9(原始 Arr 长度)。
你可以参考https://github.com/a8m/angular-filter/blob/master/src/_filter/collection/unique.js这个过滤器返回一个新的对象数组。因此它不会改变您的原始对象。
过滤器在内部returns变成ng-repeat
一个新数组。这就是过滤器的思想——过滤但避免改变输入。换句话说:
ng-repeat="item in sports.Ranks.Rank | unique:'_position'
说 ng-repeat 遍历过滤函数的结果,这是一个没有重复的新数组,当这里
<span> {{sports.Ranks.Rank.length}}</span>
你还是看原文的长度
如果你想显示新的数组长度,你可以这样做,例如尝试以下
{{ (sports.Ranks.Rank | unique:'_position').length }}
(从来没有做过那样的事情,也许这行得通),但这仍然不是一个高效的解决方案。事实上,我要做的是在控制器级别进行重复数据删除。