2017-02-07 3 views
0

Ich brauche wie diese 2 Strings in ein Array zu speichern:Array mit 2 Eigenschaften, AngularJS

array[0].name = "William" 
array[0].dni = "00112233Z" 

, so kann ich ng-repeat verwenden:

<ul> 
    <li ng-repeat="item in array"> 
     {{item.name}} 
     {{item.dni}} 
    </li> 
    </ul> 

Aber ich weiß nicht, wie Um es in Angular zu deklarieren, erhalte ich diesen Fehler, egal wie ich es versuche: TypeError: Eigenschaft 'name' von undefined kann nicht gesetzt werden.

Hier ist der Code, wo ich die Daten bin immer:

$scope.array=[]; 
    $scope.initial = function() { 
     $http.get('data/people.json').success(function (data) { 
       $scope.jsonData = data; 
       for(var i=0; i<$scope.jsonData.persons.length;i++){ 
       $scope.array[i].name=$scope.jsonData.persons[i].person.nombre; 
       $scope.array[i].dni=$scope.jsonData.persons[i].person.dni; 
       } 
     }); 
    }; 

Jede Hilfe würde geschätzt.

Grüße.

Antwort

0

Sie haben ein Objekt zunächst innerhalb des Arrays zu setzen Eigenschaften wie zuweisen:

$scope.array=[]; 
$scope.initial = function() { 
    $http.get('data/people.json').success(function (data) { 
      $scope.jsonData = data; 
      for(var i=0; i<$scope.jsonData.persons.length;i++){ 
      $scope.array[i] = {}; 
      $scope.array[i].name=$scope.jsonData.persons[i].person.nombre; 
      $scope.array[i].dni=$scope.jsonData.persons[i].person.dni; 
      } 
    }); 
}; 

Ansonsten array[i] ist nicht definiert, da ist ein leeres Array

+0

Oh man es funktionierte !! https://gyazo.com/2ae6053a0d6160629a2c0fe71bf1d4b7 vielen Dank !! : D –

Verwandte Themen