当前位置: 首页 > 面试题库 >

Angular.js ng-repeat过滤器,具有多个值之一(值或)的属性

东郭凯捷
2023-03-14
问题内容

是否可以过滤对象数组,从而使属性的值可以是几个值(或条件)中的任一个 而无需编写自定义过滤器

这类似于此问题-Angular.js ng-repeat:按单个字段过滤

但是代替

<div ng-repeat="product in products | filter: { color: 'red' }">

是否可以做这样的事情

<div ng-repeat="product in products | filter: { color: 'red'||'blue' }">

对于以下示例数据-

$scope.products = [
   { id: 1, name: 'test', color: 'red' },
   { id: 2, name: 'bob', color: 'blue' }
   /*... etc... */
];

我尝试失败

<div ng-repeat="product in products | filter: { color: ('red'||'blue') }">

问题答案:

最好的方法是使用一个函数:

<div ng-repeat="product in products | filter: myFilter">

$scope.myFilter = function (item) { 
    return item === 'red' || item === 'blue'; 
};

另外,您可以使用ngHide或ngShow根据特定条件动态显示和隐藏元素。



 类似资料:
  • 问题内容: 我有一个简单的ng-repeat抛出数据,它显示的字段之一是NumberOfStamps: 输出示例: 我如何修改此ng-repeat以仅显示NumberOfStams> 0的记录?我试过了: 预期产量: 问题答案: 在相关范围内创建谓词函数: 作为第一个参数,它在对象上采用属性名称。第二个参数是整数值。 像这样在您的视图中使用它: 演示版

  • 问题内容: 我有一个属性设置器,它通过获取两个字符串并对其进行哈希处理来生成唯一的ID: 我有两个问题: 是否允许(考虑良好的python编码实践)以这种方式编码 如何将两个值传递给设置器? 问题答案: 如何将两个值传递给设置器? 您可以将iterable(元组,列表)传递给setter,例如: 演示:

  • 问题内容: 是否可以通过多个值过滤对象数组? 例如,在下面的示例中,我可以按term_ids 5和6进行过滤,然后同时键入car吗? 如果可以轻松使用,肯定可以使用库。 问题答案: 您可以使用Array.filter

  • 我有一个名为的类,用它描述活动及其开始时间和结束时间。这些属性是、、。我必须使用流对这些活动进行分组和过滤,这些活动的总持续时间超过10小时。我成功地计算了持续时间的总和,并根据活动将它们分组:

  • 问题内容: Django中具有多个参数的过滤器和链式过滤器之间的区别 问题答案: 正如你在生成的SQL语句中看到的那样,差异不是某些人可能怀疑的“或”。这是WHERE和JOIN放置的方式。 Example1(相同的联接表):来自https://docs.djangoproject.com/en/dev/topics/db/queries/#spanning-multi-valued-relatio

  • 问题内容: 我想在Java中实现具有多个值的哈希表,即 并且将返回2倍的值。 我怎样才能做到这一点? 问题答案: 您可以改用Multimap。它在列表中为一个键保留多个值。在commons- collection 和Guava中有实现。 这类似于使用值是列表的Hashmap,但是不必显式创建列表。 自己动手做的同一示例如下所示: 请注意,您可以将Multimap用作构建器,并对其调用asMap以返