filtered.length不适用于分组项目| angularjs

时间:2014-03-07 18:13:15

标签: javascript angularjs

我的代码有2个问题:

1)我的简单代码的决定性代码如下:

<tr ng-repeat="car in filtered = (cars | filter:search)">
{{filtered.length}}

但它不起作用。为什么呢?

2)当我选择收音机“ ALL ”时,组的名称为“未定义”。如何将其重命名为“所有车辆”?

我的代码位于 Fiddle

1 个答案:

答案 0 :(得分:1)

对于第二个问题,你想要创建一个函数来处理“ALL”的情况,因为它的返回值将是“未定义的”,所以它看起来像:

<th colspan="4">{{ showGroup(group) }}</th>

然后在角码内:

 $scope.showGroup = function(group) {
    if( group == 'undefined' )
        return "All";
    else
        return group;
 };

以及为什么过滤器数组的长度在上面的HTML

<tr ng-repeat="car in filtered = (cars | filter:search)">
{{filtered.length}}

未显示{{filtered.length}}未包含在代码中。因此,将行{{filtered.length}}放入下面的一个块中,以查看它的实际效果:

<td>{{ $index + 1 }} {{filtered.length}}</td>

,或者正如我在下面的JSfiddle中所做的那样,添加到标题中以获得更好的显示效果:

<th colspan="4">{{ showGroup(group) }} Count: {{filtered.length}}</th>

http://jsfiddle.net/aF2aL/25/