我的服务抓取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>
答案 0 :(得分:5)
好的,希望我能帮助将来遇到同样问题的人。我浪费了一天的时间把头发拉过来。从我的谷歌应用程序引擎中隔离文件后,我发现文件可以在简单的MAMP本地主机上运行,但不适用于谷歌应用程序引擎。
经过一番搜索,我发现这是因为角度和DJango使用{{}}的模板标签冲突。因此,只需设置角度以使用不同的东西,问题就会被排序,请参见此处: