所以我的数据是这样的:
[
{
"userid": "a",
"age": 19,
"name": "john"
},
{
"userid": "b",
"age": 119,
"name": "joy"
},
{
"userid": "b",
"age": 119,
"name": "jesse"
}
]
我的数组是myarray:["a","b"]
ng-重复:
ng-repeat="objects in data
{{objects.age}}
我如何使用 ng-filter 以便只有那些 userid 在 myarray 中的对象 即只显示 a 和 b?
最佳答案
创建一个通用过滤器:
angular.module('App')
.filter("byPropertyInArray", function() {
return function(objects, propertyName, values) {
return objects.filter(function(object) {
return values.indexOf(object[propertyName]) !== -1;
});
}
});
然后在 View 中使用它:
<div ng-repeat="object in data | byPropertyInArray:'userid':myarray">
{{object.age}}
</div>
假设范围包含 data
作为对象列表和 myarray
作为 ids 列表。
关于javascript - 如何在数组上使用 ng-repeat 和 filter 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426497/