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

通过布尔属性用“ track by”过滤Angular 1.2 ng-repeat

芮琛
2023-03-14
问题内容

我正在尝试根据布尔属性的值过滤一些列表项,但是无论我做什么,总会显示整个列表。我尝试过的一些东西已经坏掉了,什么也没显示,但这既不存在也不存在。我无法按需进行过滤:

$scope.attendees = [
     {"firstname":"Steve",    "lastname":"Jobs",  "arrived":true,  "id":1}
    ,{"firstname":"Michelle", "lastname":"Jobs",  "arrived":false, "id":2}
    ,{"firstname":"Adam",     "lastname":"Smith", "arrived":true,  "id":3}
    ,{"firstname":"Megan",    "lastname":"Smith", "arrived":false, "id":4}
    ,{"firstname":"Dylan",    "lastname":"Smith", "arrived":false, "id":5}
    ,{"firstname":"Ethan",    "lastname":"Smith", "arrived":false, "id":6}
];

使用以下ng-repeat过滤:

<ul>
    <li ng-repeat="person in attendees track by person.id | filter:arrived:'false'">
            {{person.lastname}}, {{person.firstname}}
    </li>
</ul>

我觉得我已经尝试了所有可以找到引用的排列,其中大部分来自各种StackOverflow搜索结果:

  • filter:'arrived'
  • filter:arrived
  • filter:'person.arrived'
  • filter:person.arrived
  • filter:{arrived:true}
  • filter:{arrived:'true'}
  • filter:{person.arrived:true}
  • filter:{person.arrived:'true'}

我也尝试过创建自定义过滤器功能:

$scope.isArrived = function(item) {
    return item.arrived;
};

并因此应用它:

  • filter:isArrived
  • filter:'isArrived'
  • filter:{isArrived(person)}
  • filter:isArrived(person)
  • filter:'isArrived(person)'

这些似乎都不起作用。我想念什么?

这是演示我问题的plnkr。


问题答案:

track by必须位于表达式的末尾:

<li ng-repeat="person in attendees | filter: {arrived: false } track by person.id">


 类似资料:
  • 我在ES中有两个问题。对于同一组文档,两者的周转时间都不同。两者在概念上都在做同样的事情。我没有什么疑问 1-这两者之间有什么区别?2-哪个更好使用?3-如果两者相同,为什么表现不同? 映射: 更新1: 我在同一组数据上尝试了bool/必须查询和bool/过滤器查询,但我发现了奇怪的行为 1-bool/必须查询能够搜索所需的文档 2-虽然bool/filter无法搜索文档。如果我删除第二个字段条件

  • 问题内容: 根据http://www.elastic.co/guide/zh-cn/elasticsearch/guide/master/combining- filters.html 上的elasticsearch文档,布尔过滤器可以是以下内容: 在含义上,它等效于以下逻辑运算: 这样对吗? 谢谢! 问题答案: 正如Andrei在评论中指出的,这是对 过滤器 的正确理解: 可以翻译成 可以翻译成

  • 我从事elasticsearch,我尝试混合两个工作查询。第一个是“and filter”,第二个是“bool filter”,但我失败了。 我的查询是从用户交互界面动态生成的。 “和过滤器”: 我需要“和过滤器”来查询数据,例如,字段必须等于“非洲”或“亚洲”或为空。这是一个工作查询的示例: 此查询工作正常,结果如下: 现在我需要用字段“D\u TYPESTATUS”来限制结果数据,该字段必须与

  • 我有一个名为的对象,它描述了一个项目的买卖行为。与其他一些属性相比,它主要如下所示: 具有各自的吸气器和设置器。是该项目应出售/购买的金额,ItemData描述该项目的规格。PriceType是一个枚举,它是或。 我现在有一个方法,是哪个工作,在一个列表中找到最匹配的价格。我的所有价格都存储在一个简单称为的列表中。到目前为止,我的方法只是遍历列表,并返回与和匹配的第一个: 然而,这完全忽视了一个事

  • 问题内容: 使用RESTEasy和Jackson,是否可以在模型中使用注释,从而避免根据用户的角色在输出中序列化某些属性? 我已经找到了大量关于如何使用Jersey的文档,但是关于RESTEasy却没有。 我在此架构上受阻,因此切换库不是一个选择,并且也不像此处说明的那样使用自定义,因为该模型足够大,以至于标记大型数据集的每个属性都太耗时用于正确的序列化。另外,这是指Jackson库的较旧版本,我

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