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()'是非常獨立的,如果你用'response.data'做一些操作,就像'handleResponse(response.data)'一樣,你可以從response部分提取另一個方法。 ' – anoop
在這種情況下,謝謝你的幫助! –