我正在努力寻找一种基于数字数组在 ng-repeat 中过滤一组结果的方法。这些数字可以代表我想看到或不想看到的结果。我可以在 View 中使用过滤器并按一个数字进行过滤,这很有效,但我想在那里放置一个数组并按数组进行过滤。我不关心过滤器是在 View 、 Controller 还是单独的过滤器中。
下面的代码成功过滤了论坛id为60的话题
<div ng-repeat="topic in topics | filter:{forum_id:60}">
Forum ID: {{topic.forum_id}} Forum Name: {{topic.forum_title}}
</div>
我想按数组过滤
<div ng-repeat="topic in topics | filter:{forum_id:ARRAY_HERE}">
Forum ID: {{topic.forum_id}} Forum Name: {{topic.forum_title}}
</div>
最佳答案
将自己的函数传递给过滤器:
<div ng-repeat="topic in topics | filter:myFilterMethod(topic)">
Forum ID: {{topic.forum_id}} Forum Name: {{topic.forum_title}}
</div>
在你的 Controller 中:
$scope.myFilterMethod = function() {
return function(e) {
return $scope.filterBy.includes(e.forum_id);
}
}
关于javascript - 如何从数字数组中过滤 ngRepeat 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45762216/