2015-12-29 2 views
1

Это может быть легко для большинства из вас, но я только начал с angularjs.не удалось обнаружить данные с angularjs из json-файла

Я следую за 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.' 

Как я могу правильно получить доступ к массиву данных в пределах моей тестовой области? Спасибо за вашу помощь

EDIT

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

пожалуйста, проверьте file.whether JSON он хорошо подготовился JSon формат или ни. попробовать с этим:

данных [0] .something

Он может получить данные JSON.

+0

json хорошо отформатирован, так как я использую другой способ получения данных до сегодняшнего дня. Кроме того, если я расширяю data-> 0->, все значения объекта есть – Nick

+0

Можете ли вы поделиться своим json? – Shrikant

+0

если есть, пожалуйста. – Shrikant

Смежные вопросы