如何以角度访问过滤数组的属性

时间:2015-09-30 21:15:02

标签: javascript angularjs filter

我有一个数组,我想过滤以获得与其他值相匹配的记录,以便我这样做:

jobsCtrl.matchList | filter: {job_id: job.id}

控制器的matchList如下所示:

[{ job_id: 1, prop: 5},{job_id: 2, prop: 10 } ... ]

如果我像这样输出它,它可以工作:{ job_id: 1, prop: 5}

但是我想访问DOM中的prop属性,我希望这可以工作:

{{ (jobsCtrl.matchList | filter: {job_id: job.id}).prop }}

但这只是空白,有没有办法做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:2)

由于过滤器返回一个数组,因此无法直接访问数组的对象属性。

但是,您可以返回数组的第一个元素并获取它的属性

的值
{{ (jobsCtrl.matchList | filter: {job_id: job.id})[0].prop }}

你不会想要过多地使用它,例如在ng-repeat内,因为它会非常昂贵。请记住,每个范围更改可能会多次运行摘要

DEMO

答案 1 :(得分:0)

这种方法对你有用吗?

<div ng-repeat="job in jobsCtrl.matchList | filter: {job_id: job.id}">
    <p>{{job.prop}}</p>
</div>