0
Angularに合理的に新しい。 JSONファイルから情報を取得し、各オブジェクトを繰り返し処理するという目的を持っているため、コントローラからデータにアクセスできます。 $http
リクエストからJSONデータにアクセスできますが、サービス内のforループのJSONデータにはアクセスできません。'forループ'から応答データを返す - AngularJS
これはAngularJS内のアイテムをループする最も良い方法ですか、そうであればコントローラからこの情報にアクセスして表示するにはどうすればよいですか?
app.factory('fxRate', ['$http', '$q', function($http, $q){
var factory = {};
factory.getFx = function() {
var deferred = $q.defer();
$http.get('../json/mcfx.json')
.then(
function(response){
var d, i;
var rateData = response.data.fxrate;
for (var i in rateData) {
var fx = rateData[i].usdToEur;
var fxDate = rateData[i].date;
}
deferred.resolve(response.data);
},
function(errResponse){
deferred.reject(errResponse.data);
}
)
return deferred.promise;
}
return factory;
}]);
app.controller('dashboard', ['$scope', 'fxRate', function($scope, fxRate){
$scope.dailyFx = function() {
fxRate.getFx().then(function(data){
console.log(data)
});
}
$scope.dailyFx();
}])
これはどのように私はそれに行くか.......、本当ですか? –
@PatrickMcDermott:あなたの関数 '$ scope.dailyFx()'はかなり分離されていますし、 'handleResponse(response.data) 'のように' response.data'で何らかの操作を行うと、 ' – anoop
この場合、お手数をお掛け致します。 –