ng-repeat + Filter + ng-switch

时间:2015-10-25 19:20:01

标签: javascript angularjs

我有以下ng-repeat一次获得3项:

<div ng-repeat="post in posts | filter:search | filter:customFilter">
              <span ng-switch="" on="$index % 3">
                        <div class="row" ng-switch-when="0">
                             <div class="col-sm-4">
                                  {{posts[(posts.indexOf(post))]}}
                             </div>
                             <div class="col-sm-4">
                                  {{posts[(posts.indexOf(post + 1))]}}
                             </div>
                             <div class="col-sm-4">
                                  {{posts[(posts.indexOf(post + 2))]}}
                             </div>
                        </div>
              </span>
</div>

我的问题是,如果searchcustomFilter适用于一个帖子,即使第二个和第三个不适用,我也会获得所有三个项目。

PLNKR

在那个PLNKR中,如果你搜索“1”,你将得到三个而不是一个。

有没有办法一次过滤一个项目,而不是一次过滤所有3个项目?

1 个答案:

答案 0 :(得分:1)

将过滤后的值存储在像

这样的变量中
post in filteredPosts = (posts | filter:search | filter:customFilter)

使用filteredPosts.lengthng-show / ng-hide隐藏额外的项目

修改:显然只是使用过滤后的变量,并使用它来获取{{}}中的帖子(如filteredPosts[(filteredPosts.indexOf(post))])就可以了。

这是你想要的吗? Plunker

相关问题