我有以下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>
我的问题是,如果search
或customFilter
适用于一个帖子,即使第二个和第三个不适用,我也会获得所有三个项目。
在那个PLNKR中,如果你搜索“1”,你将得到三个而不是一个。
有没有办法一次过滤一个项目,而不是一次过滤所有3个项目?
答案 0 :(得分:1)
将过滤后的值存储在像
这样的变量中post in filteredPosts = (posts | filter:search | filter:customFilter)
使用filteredPosts.length
加ng-show / ng-hide
隐藏额外的项目
修改:显然只是使用过滤后的变量,并使用它来获取{{}}
中的帖子(如filteredPosts[(filteredPosts.indexOf(post))]
)就可以了。