2016-12-23 2 views
6

Wie schreibt man eine Variable zu JSON name?Eine Variable dem JSON Angular zuweisen

JSON names Objekt

[ 
    { "name": "John", "age" : "12" }, 
    { "name": "Ben", "age" : "15" }, 
    { "name": "Jason", "age" : "18" }, 
    { "name": "Billy", "age" : "11" } 
] 

Angular Service und Controller

var app = angular.module('app', []); 
    app.service('service', function($http, $q){ 
     var deferred = $q.defer(); 

     $http.get("jsonfile.json").then(function(data){ 
      deferred.resolve(data); 
     }); 

     this.getNames = function(){ 
      return deferred.promise; 
     } 
    }); 
    app.controller('secondCtrl', function($scope, service){ 
     var promise = service.getNames(); 
     promise.then(function(data){ 
      $scope.names = data.data; 
      console.log($scope.names); 

     }); 
}); 

Was habe ich versucht, in der Steuerung zu tun:

var name = names.name; 

Und dann Ich habe versucht, in HTML ng-repeat {{name}}, aber es hat nicht funktioniert.

+0

$ scope.names = Daten; console.log ($ scope.names.name) – MMK

+0

genau wie du es in 'secondCtrl' getan hast: promise.then (...) war der gute Weg. Aber irgendwo außerhalb des Callbacks, das an 'then()' übergeben wurde, wäre nutzlos, weil der Dienst die Daten nicht –

Antwort

3

Sie können Ihr Namensobjekt in HTML einfach mit ng-repeat durchlaufen.

Wenn Ihr Array ist:

$scope.names = [ 
    { "name": "John", "age" : "12" }, 
    { "name": "Ben", "age" : "15" }, 
    { "name": "Jason", "age" : "18" }, 
    { "name": "Billy", "age" : "11" } 
]; 

Sie names.name mit diesem Code zeigen:

<div ng-repeat="n in names">{{n.name}}</div> 
+0

abfragte. Ja, ich weiß, ich kann names.name mit ng-repeat = "n in names" anzeigen. – bafix2203

+1

Nun, du hast gesagt Original Beitrag "Und dann habe ich versucht in HTML ng-Wiederholung {{Name}}, aber es hat nicht funktioniert.". Was sollte das bedeuten? –

Verwandte Themen