ng-repeat array in array filtering by 属性 of parent 与 AngularJS

ng-repeat array in array filtering by property of parent with AngularJS

我想 select 父级 属性 的数组中的数组。我不知道索引(在本例中为 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>

这是一个选项:

<ul ng-repeat="p in people | filter: { id: 45 }">
    <li ng-repeat="room in p.rooms" ng-bind="room"></li>
</ul>