来自文档: 对象:模式对象可用于过滤数组包含的对象的特定属性。例如{name:“M”,phone:“1”}谓词将返回一个项目数组,其属性名称包含“M”,属性手机包含“1”。
是否可以返回包含属性名称的数组:“M” OR phone:1?
或者我是否必须为此编写自定义过滤器?
ng-options="m.mc_title for m in mainCategories | filter:{mc_schema:activeSchema.sch_id, all:true}"
上述代码过滤了两个属性必须为true(&&)。如果它们中的任何一个为真,我希望它过滤。(/ p)
答案 0 :(得分:0)
我认为,为此,您应该定义自己的过滤器,将'或'表达式作为参数处理。这是我为你做的一个例子:
http://plnkr.co/edit/qwJm2fy6JmdWYG2yR2it?p=preview
// Receive a JSON with properties that serve as OR clause.
// For example, this one would give you any object whose NAME is JOHN or whose ID is 123.
$scope.model.filteredData = $filter('orArray')($scope.model.data, {name: 'john', id: '123'});
过滤器的名称是'orArray'并收到两件事:
{filterProperty: filterValue}
编辑:我将内联过滤器添加到了plnkr
<li ng-repeat="element in model.data | orArray:{name: 'john', id: '123'}">