我正在尝试从范围滑块构建过滤器。
是否可以设置我的范围滑块何时位于其中一个位置以显示多个类别?
使用下面的代码,我可以使用范围进行过滤,但是他只在第一个单词上添加了过滤器,而在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;
}
};
}
};
答案 0 :(得分:1)
您可以创建自定义过滤器功能,如下所示:
$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">