通过数组atributtes过滤angularJS

时间:2015-05-27 21:11:37

标签: javascript angularjs

我正在构建一个网络应用,并且我使用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/

编辑:第二个过滤器为空,因为我不知道如何过滤游戏中的团队。团队数组

0 个答案:

没有答案