ng-repeat键不使用JSON数据显示

时间:2013-03-15 11:58:40

标签: angularjs angularjs-ng-repeat

我的服务抓取JSON数据并成功将数据返回给控制器,但是我在使用ng-repeat迭代键名时遇到了问题。

我想在页面上显示键名作为列表,因为它们是类别名称。

目前ng-repeat迭代正确的次数但不显示密钥名称。

控制器:

app.controller('getNav', function(getJSONData, $scope) {
    var path = 'json/navigation';
    getJSONData.async(path).then(function(d) {
        $scope.data = d;    
    });
});

服务:

app.factory('getJSONData', function($http) {
  var getJSONData = {
    async: function(path) {
      var promise = $http.get(path).then(function (response) {
        return response.data;
      });
      return promise;
    }
  };
  return getJSONData;
});

JSON数据:

{ 
     "data": {
         "category_a": ["a", "b", "c", "d"], 
         "category_b": ["e", "f", "g"], 
         "category_c": ["h", "i", "j"]
     }, 
     "response": "Navigation"
}

查看:

<ul ng-controller="getNav">
   <li data-ng-repeat="(key, value) in data.data">Category name is: {{key}}</li>
</ul>

1 个答案:

答案 0 :(得分:5)

好的,希望我能帮助将来遇到同样问题的人。我浪费了一天的时间把头发拉过来。从我的谷歌应用程序引擎中隔离文件后,我发现文件可以在简单的MAMP本地主机上运行,​​但不适用于谷歌应用程序引擎。

经过一番搜索,我发现这是因为角度和DJango使用{{}}的模板标签冲突。因此,只需设置角度以使用不同的东西,问题就会被排序,请参见此处:

AngularJS with Django - Conflicting template tags