我正在构建一个网络应用,并且我使用AngularJS
作为前端。
当我尝试过滤一些选择时,我遇到了问题。
这是我的情况:
我有一个名为' Games'的对象。它代表足球比赛。
游戏有两个属性:id作为标识符和团队。 团队是一个团队'阵列。现在我将解释每个团队的情况。
一个团队有三个属性:id,name和League,它们都代表一个联盟。
A League有两个属性:id和name。
我想用游戏填充一个选择,我想通过联盟过滤此选择。问题是联盟进入每个团队,当我尝试做这样的过滤器时:filter:{Team[0].League.id : 1}
它不起作用,我不知道为什么。
我在小提琴上做了一个例子:
<div ng-app="myapp">
<fieldset ng-controller="FirstCtrl">
<select ng-model="newGame" ng-options="game.Team[0].name + ' vs ' + game.Team[1].name for game in Games | filter:{Team[0].League.Name : 'League spain'}"></select>
<select ng-model="teamsNewGame" ng-options="team.name for team in Teams | filter:{}"></select>
</fieldset>
function TodoCtrl($scope) {
$scope.LeagueSpain = { id: 1,
name: 'League spain'};
$scope.LeagueUK = { id: 2,
name: 'League UK'};
$scope.TeamBarcelona = {id:1,
name: 'Barcelona',
League: LeagueSpain};
$scope.TeamMadrid = {id:2,
name:'Madrid',
League: LeagueSpain};
$scope.TeamChelsea = {id:3,
name:'Chelsea',
League: LeagueUK};
$scope.TeamArsenal = {id:4,
name:'Arsenal',
League: LeagueUK};
$scope.Teams = [TeamBarcelona, TeamMadrid, TeamChelsea,
TeamArsenal];
$scope.Games = [{id: 1,
Team:[TeamBarcelona,
TeamMadrid]
},
{id: 2,
Team:[TeamChelsea,
TeamArsenal] }
];
}
http://jsfiddle.net/vqzj37ys/1/
编辑:第二个过滤器为空,因为我不知道如何过滤游戏中的团队。团队数组