2016-12-23 5 views
6

変数をJSONに帰属させる方法nameJSONに変数を書き込む角度

JSONオブジェクトnames

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

角度サービスとコントローラ

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); 

     }); 
}); 

私は、コントローラで実行しようとしました何を:その後、

var name = names.name; 

とを私はHTML ng-repeat {{name}}を試しましたが、うまくいかなかったのです。

+0

$ scope.names =データ。 console.log($ scope.names.name) – MMK

+0

は 'secondCtrl'と同じように:promise.then(...)は良い方法でした。しかし、サービスがデータの取得を終了しなかったので、 'then()'に渡されたコールバックの外側は役に立たないでしょう。 –

答えて

3

あなたの名前オブジェクトをHTMLでng-repeatでループすることができます。

あなたの配列がある場合:

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

あなたはこのコードでnames.nameを表示することができます

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

はい、私はng-repeat = "n in names"でnames.nameを表示できます。 – bafix2203

+1

元の投稿 "そして、HTML ng-repeat {{name}}を試しましたが、うまくいかなかったのです"。それはどういう意味ですか? –

関連する問題