如何使用AngularJS处理数组?

时间:2014-06-05 22:12:24

标签: javascript angularjs

我有一个API返回以下简单的JSON数组:

[
  "efd98ad-first_key",
  "100eb0a-second_key"
]

我正在尝试使用Angular将其呈现为一个表:

<div name="listkeys" class="container">
  <div class="starter-template">
    <div ng-bind-html="message"></div>
    <table class="table table-striped table-bordered table-condensed sortable" ng-init="getKeys()">
      <tr>
        <th>bucket</th>
      </tr>
      <tr ng-repeat="bucket in buckets">
        <td>{{bucket}}</td>
      </tr>
    </table>
  </div>
</div>

JS:

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

app.controller('ListKeys', function($scope, $http) {

  $scope.getKeys = function() {
    $http.get('/api/keys').
      success(function (data) {
        $scope.response = data;
      }).
      error(function (data){
        $scope.response = {}
      });
  };

});

除了投掷&#34;未捕获的对象&#34;它没有做任何事情。错误就是这样。

我怎样才能调试它失败的原因?

2 个答案:

答案 0 :(得分:1)

您要将值存储在$scope.response中,但是您在$scope.bucket使用ng-repeat

$scope.getKeys = function() {
$http.get('/api/keys').
  success(function (data) {
    $scope.buckets= data;
  }).
  error(function (data){
    $scope.buckets= {}
  });

};

答案 1 :(得分:0)

看起来您没有名为buckets的范围项。我希望看到:

$scope.buckets = data

成功回调。