ng-repeat + Filter + ng-switch

ng-repeat + Filter + ng-switch

本文关键字:ng-switch Filter ng-repeat      更新时间:2023-09-26

我有以下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个条目?

将过滤后的值存储在像这样的变量中

post in filteredPosts = (posts | filter:search | filter:customFilter)

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

编辑:显然只是使用过滤变量,并使用它来获取{{}}(如filteredPosts[(filteredPosts.indexOf(post))])中的帖子。

这是你想要的吗?恰好