gpt4 book ai didi

javascript - Angular JS 过滤器或语句

转载 作者:行者123 更新时间:2023-11-27 23:13:36 26 4
gpt4 key购买 nike

我有一个项目的 ng-repeat 声明。然后,我有一个下拉菜单,用于选择项目所在的区域。如果它是单个区域,我可以使用它,但我需要检查多个区域中的项目。例如,他们选择了非洲和北美。

<div class="column project-thumbnail" data-ng-repeat="project in   projects | orderBy:livePredicate:'title' | filter:liveRegion:'region'>

我需要它是这样的:

filter:'Africa' OR 'North America' OR 'etc':'region'>

我尝试向它传递一个对象,并且我还尝试了我在另一篇文章中看到的关于像这样传递的函数的内容:

$scope.showMovie = function(movie){
return movie.genre === $scope.Filter.Comedy ||
movie.genre === $scope.Filter.Drama ||
movie.genre === $scope.Filter.Action;

非常感谢任何建议或帮助。该对象有一个与之比较的project.region,并且可以有任意数量的值。所以我想显示任何选定的区域。

最佳答案

我还没有尝试过,但我相信您应该能够将数组传递给自定义过滤器并在其中应用过滤器逻辑。如下所示:

angular.module('app', []).
filter('regionFilter', function () {
return function (projects, regions) {
var filteredProjects=[]
angular.forEach(projects, function (project) {
if (regions.indexOf(project.region)>=0) {
filteredProjects.push(value);
}
});
return filteredProjects;
};
});

<div class="column project-thumbnail" data-ng-repeat="project in   projects | regionFilter: regions">

其中regions是您想要作为过滤条件的选定区域的数组。

顺便说一句,您的 orderBy 语法似乎是错误的。它应该像 {{ orderBy_expression | orderBy:表达式:反向}}

关于javascript - Angular JS 过滤器或语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com