我想通过父级的属性在数组中选择一个数组。我不知道索引(在本例中为 1),但我知道 id。我可以做吗?这是我使用索引的工作示例,我希望通过 id (43) 获得相同的结果。
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div data-ng-app="myApp" data-ng-controller="myCtrl">
<ul>
<li ng-repeat="p in people[1].rooms" ng-bind="p"></li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.people = [
{
id: 25,
nick: 'Joker',
rooms: ['room1', 'room2']
},
{
id: 43,
nick: 'King',
rooms: ['room3', 'room4']
},
{
id: 78,
nick: 'Queen',
rooms: ['room5', 'room6']
}
]
});
</script>
最佳答案
您应该使用 people
数组上的严格过滤器按 id 分隔特定用户的房间。很明显,您将使用单个记录作为其基于 id
的搜索。
代码
<ul>
<li ng-repeat="p in filteredPeople = (people | filter: {id: l.id })[0].rooms">
{{p}}
</li>
</ul>
关于angularjs - 使用 AngularJS 按父级属性过滤数组中的 ng-repeat 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34233002/