javascript - 带 OR 运算符的 Angular 过滤器

标签 javascript angularjs filter operator-keyword

我正在尝试从范围 slider 构建过滤器。

是否可以设置我的范围 slider 何时位于其中一个位置以显示多个类别?

通过下面的代码,我可以使用范围进行过滤,但他只对第一个单词进行过滤,在 OR 运算符之后仅此而已。谁能帮帮我?

$scope.filterRange = filterRange;

function filterRange() {
    if (this.rangemodel == 1) {
        $scope.categoryfilter = 'web' || 'ecommerce '; // something like that!
    } else if(this.rangemodel == 2) {
        $scope.categoryfilter = 'branding' || 'video'; // something like that!
    } ;
};

<div ng-repeat="project in projects | filter: {category: categoryfilter}">

我已经在这里看到了另一篇文章,但仍然不知道如何实现这一点。 =(

感谢 Daniel,这是可行的解决方案:

$scope.projetos = [];

$scope.filtroRange = filtroRange; 

function filtroRange() {
    if (this.rangemodel == 1) {
        $scope.categoryFilter = function(projeto) {
        if (projeto.categoria === 'site institucional' || projeto.categoria === 'ecommerce') {
            console.log('filtrando');
            return projeto;      
            }
        };
    } else if (this.rangemodel == 2) {
        $scope.categoryFilter = function(projeto) {
        if (projeto.categoria === 'branding' || projeto.categoria === 'email marketing') {
            console.log('filtrando');
            return projeto;      
            }
        };
    }
 };

最佳答案

您可以像这样创建一个自定义过滤器函数:

$scope.categoryFilter = function(project) {
    if (this.rangemodel == 1) {
        if (project.category === 'web' || project.category === 'ecommerce') {
            return project;      
        }
    } else if (this.rangemodel == 2) {
        if (project.category === 'branding' || project.category === 'video') {
                return project;
            }
        }
    }
};

然后您的 html 将简单地将此函数称为过滤器:

<div ng-repeat="project in projects | filter: categoryFilter">

关于javascript - 带 OR 运算符的 Angular 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45310150/

相关文章:

javascript - 在 AngularJs 中构建自定义过滤器时出错

php - 如何下拉菜单选择过滤数据查询?

internet-explorer-8 - IE 8 绝对定位元素在其父裁剪问题之外

javascript - 查找 Rangy 标记 ID

javascript - 跨域JavaScript,嵌入iframe情况下的父位置设置

angularjs - ngAnimate 对象未设置为函数

python Pandas 如果列表中的列中的单词在新列中添加 Y 标志

javascript - 是否有一种通用的解决方案可以使用 jQuery/JavaScript 循环播放一系列 .png 帧并对其进行动画处理?

javascript - Ajax 请求删除类 jQuery

javascript - Cordova backgroundMode 插件不起作用