AngularJS - 获取JSON属性并显示它

时间:2017-08-11 12:16:10

标签: angularjs angularjs-ng-click

我有一个带有ng-repeat的bootstrap模型。它显示JSON数据。 现在我想单击一个团队(teamname)并在console.log中显示它。但是,我的问题是我无法获得teams.team(团队名称)......

你知道如何处理这个问题吗?

app.js

app.controller('modalController', ['$scope', '$timeout', '$http', function ($scope, $timeout, $http) {
   $scope.$on('modal', function (event, args) {
      $http.get('../data/teams.json').then(function (response) {
         var teams = response.data.teams;
         var teamsArray = [];
         for (var p  in  teams) {
              var d = teams[p];
              teamsArray.push(d);
         }
         $scope.teamSelected = function () {
              console.log("Clicked" + teams.team)
         };
         $scope.teams = teamsArray;
      });
   }) 
}]);

modal.html

<div class="col-md-4 col-sm-6 col-xs-12" ng-repeat="team in teams | filter:team | limitTo: paginationLimit()" ng-click="teamSelected(teams.team)">
    <div class="row pad-team-selection-view">
         <button type="button" class="btn btn-default team-selection-view">
            <img ng-src="{{ team.logo }}" width="18" height="18" class="img-logo">{{ team.team }}
         </button>
    </div>
</div>

teams.json

{
  "teams": [
    {
      "id": "0",
      "league": "1. Bundesliga",
      "team": "FC Augsburg",
      "country": "Deutschland",
      "logo": "https://upload.wikimedia.org/wikipedia/de/b/b5/Logo_FC_Augsburg.svg"
    },

1 个答案:

答案 0 :(得分:1)

在您传入teams.team的ng-repeat div中,您实际上已经拥有了团队对象,因此您可以直接传入团队。另外,请确保团队是teamSelected函数的输入,如下所示:

HTML:

ng-click="teamSelected(team)"

JavaScript的:

$scope.teamSelected = function (team) {
  console.log("Clicked" + team.team)
};