Angularjs 为什么ng repeat无法使用$http.get JSON循环,但在';什么是硬编码的?

Angularjs 为什么ng repeat无法使用$http.get JSON循环,但在';什么是硬编码的?,angularjs,Angularjs,我有一个使用ng repeat的Angular项目,它在控制器中编码了一个临时JSON字符串,工作正常: function DocsController($scope, $http){ $scope.applicationData = [ {"Item":"1", Value: "Red"}, {"Item":"2", Value: "Orange} ]; } 但出于某种原因,当我将JSON移动到一个文件中,并通过$http.GET将其拉入时,ng repeat停止工作

我有一个使用ng repeat的Angular项目,它在控制器中编码了一个临时JSON字符串,工作正常:

function DocsController($scope, $http){
    $scope.applicationData = [
    {"Item":"1", Value: "Red"}, {"Item":"2", Value: "Orange}
    ];
}
但出于某种原因,当我将JSON移动到一个文件中,并通过$http.GET将其拉入时,ng repeat停止工作。没有循环,什么都没有-即使我可以从循环外的对象获取applicationData.length和其他属性:

$http.get('jsonData/docs.json').success(function(data) {
    alert (data);
    $scope.applicationData = data;
  });
在上面的示例中,警报显示JSON字符串,因此我知道它已正确加载。我可以调用{{applicationData.length}},它将呈现2。所以我知道数据就在那里,只是当通过$http.get获取数据时,ng repeat停止循环

有什么想法吗?非常感谢

项模板(请注意,{{applicationData.length}}行正确呈现-因此我知道数据在那里)


申请文件
演出结束

文件标题 日期 所有者 地位 行动 {{applicationData.length} {{item.name} {{item.lastModified}日期:'short'} {{item.owner}
-编辑-

尝试使用
。然后()

试试这个:

$scope.applicationData = [];

$http.get('jsonData/docs.json').success(function(data) {
    $scope.applicationData.push(data);
});

我意识到与datatable jquery插件()存在冲突。恐怕Angular无法使用,因为它是一款优秀的软件,但我现在必须禁用它。

您也可以共享该模板吗?谢谢@ArunPJohny为您提供了一个机会。我添加了模板——正确地呈现了第一行——因此我知道数据在那里,只是出于某种原因,它不想在其中循环。非常感谢,@couzzi!但它不起作用,同样的结果。非常感谢。您可以尝试初始化应用程序数据范围变量。我认为分配不需要更改。上面发布的代码是附加的,如果只调用一次就不会有问题。
console.log(数据类型)
console.log($scope.applicationData类型)
的结果是什么?按住按钮。尝试将“Value”键设置为小写和/或引号。我讨厌这样做-我只是在其中键入JSON数据以简化问题,实际的JSON数据格式正确。
$http.get('jsonData/docs.json').then(function(data){
   $scope.applicationData = data
});
$scope.applicationData = [];

$http.get('jsonData/docs.json').success(function(data) {
    $scope.applicationData.push(data);
});