无法使用json文件中的angularjs检测数据

时间:2015-12-29 09:30:52

标签: angularjs json

对于你们大多数人来说,这可能很容易,但我刚开始使用angularjs。

我正在关注this example以在angularjs中创建数据模型。

就像下面的示例一样,我正在创建一个包含所有数据相关操作的类,这样我就可以调用相同的模型并在其他地方使用它。

.factory('DataTest', ['$http', function ($http) {
        function DataTest(Data) {
            if (Data) {
                this.setData(Data);
            }
        };
        DataTest.prototype = {
            setData: function (Data) {
                angular.extend(this, Data);
            },
            load: function (id){
                var scope = this;
                $http.get('json/data.json').success(function(Data){
                    scope.setData(Data);
                });
            },
            delete: function(){
                $http.delete();
            },
            update: function (){
                $http.put();
            }
        };
        return DataTest;
    }])

当我在控制器中创建范围时,如下所示:

.controller('AppCtrl', ['$scope', 'DataTest', function ($scope, DataTest) {
    $scope.test = new DataTest();
    console.log($scope.test);
    $scope.test.load();
 }])

我的控制台中的结果如下所示:

DataTest{}
   data: Array [7]
      0: Object
      1: Object
      2: Object
      3: Object
      ...

现在,我需要进入data,我尝试了几种没有运气的方法:

$scope.test = new DataTest();
$scope.test2 = $scope.test.data;
console.log($scope.test2); //Console says 'Undefined'
$scope.test.load();

-----------------------------

$scope.test = new DataTest();
$scope.test2 = $scope.test.data;
console.log($scope.test2); 
$scope.test.data.load(); //Console says 'Cannot read property load of undefined'

------------------------

Tried returning DataTest.data from my DataTest service, and console says:
//'Provider 'DataTest' must return a value from $get factory method.'

如何正确访问测试范围内的'data'数组? 谢谢你的帮助

修改

JSON文件(示例):

"tm": "2015-12-24T15:43:29+0100",
"data": [
    {
      "ID": 0,
      "Type": 1,
      "Name": "test 0"
    },
    {
      "ID": 1,
      "Type": 3,
      "Name": "test 1"
    },
    {
      "ID": 2,
      "Type": 4,
      "Name": "test 2"
    }
  ],
  "errors": []

1 个答案:

答案 0 :(得分:1)

请检查你的json文件。它是否准备好了json格式或者也没有。 试试这个:

数据[0] .something

它可能会获得json数据。