微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 通过布尔属性过滤“track by”的角度1.2 ng重复

我试图过滤一些列表项基于布尔属性的值,但无论我做什么,整个列表总是显示。我试过的一些东西已经被打破,没有什么显示,但这不是在这里也没有。我不能让我的过滤工作按照预期:
$scope.attendees = [
     {"firstname":"Steve","lastname":"Jobs","arrived":true,"id":1},{"firstname":"Michelle","arrived":false,"id":2},{"firstname":"Adam","lastname":"Smith","id":3},{"firstname":"Megan","id":4},{"firstname":"Dylan","id":5},{"firstname":"Ethan","id":6}
];

使用以下ng重复过滤:

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

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

> 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)’

这些似乎都不起作用。我缺少什么?

Here’s a plnkr that demonstrates my problem

轨道需要在表达式的结尾:
<li ng-repeat="person in attendees | filter: {arrived: false } track by person.id">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐