2016-04-10 6 views
1

Ich bin neu in Angular und ich versuche, eine Variable in den Filter zu geben, aber ich habe kein Glück. Es funktioniert wie vorgesehen, wenn ich den Wert hart Code, aber es scheint nicht den Wert zu akzeptieren.Variable in ng-Repeat-Filter übergeben

JS

var app = angular.module('footballApp', []); 

app.controller("TeamCtrl", function($scope, $http){ 

    $http.get("clubs.php/teams").success(function (data){ 
     $scope.teams = data.team; 
    }).error(function(){ 
     alert("an error has occured"); 
    }); 

    $http.get("players.php/players").success(function (data){ 
     $scope.players = data.player; 
     console.log($scope.players); 
    }).error(function(){ 
     alert("an error has occured"); 
    }); 

}); 

HTML

<script type="text/ng-template" id="team-single.html"> 
    <div class="team-box"> 
     <div class="badge"> 
      <img src="logo.png" width="100" height="100"></div> 
     <div class="team-name">{{x.club_name}}</div> 
     <p><b>Club Manager:</b> {{x.club_manager}}</p> 
     <p><b>Ground:</b> {{x.club_ground}}</p> 
     <p><b>Nickname:</b> {{x.club_nickname}}</p> 
     <div class="team-p">{{x.club_info}}</div> 
     <div class="key-players"> 
      Key Players 
     </div> 

     <div class="players"> 
      <ul class="player-list"> 
       <li ng-repeat="player in players | filter: { club_name: '{{player.club_name}}' }" data-toggle="modal" data-target="#{{player.id}}">{{player.player_name}}</li> 
      </ul> 
     </div> 
    </div> 
</script> 


<div class="row teams" ng-controller="TeamCtrl"> 
    <div class="container"> 
     <div class="col-md-4" ng-repeat="x in teams" ng-include="'team-single.html'"></div> 
    </div> 

</div> 

Alles funktioniert auseinander fein von dem Teil, wo ich ng-repeat mit einem Filter verwenden, um die Liste zu filtern, die durch club_name zeigt. Kann mir jemand sagen, wo ich falsch liege?

Antwort

2

Die Variable muss nicht in geschweiften Klammern stehen.

<ul class="player-list"> 
       <li ng-repeat="player in players | filter: { club_name: player.club_name }" data-toggle="modal" data-target="#{{player.id}}">{{player.player_name}}</li> 
      </ul> 

z.B. player.club_name anstelle von '{{player.club_name}}'