如何使用过滤器跳过ng-repeat中的未定义项?

时间:2014-04-29 11:01:49

标签: angularjs-ng-repeat

请考虑这个plnkr:

http://plnkr.co/edit/EGSiUxkmqwBhLVPgatRp

应该过滤掉第10个项目..我知道如何过滤项目的属性,但我似乎无法让它适用于项目本身。

请帮助

1 个答案:

答案 0 :(得分:1)

作弊是用空字符串过滤:

<li class="animate-repeat" ng-repeat="friend in friends | filter:{name : ''}">

但不太理想。

另一种方法是定义自己的过滤器,它只返回已定义的项目 - 如:

.filter('removeUndefined', function(){
    return function(listitems){
        var results = [];
        angular.foreach(listitems, function(item, key){
            if(item != undefined){
                results.push(item);
            }
        });
        return results;
    }
})