私は工場とサービスを持っています。工場はgetDriversData
で、サービスはcollectDrivers
です。このサービスでは、JSONファイルからデータを取得する必要があるため、$http.get
を使用しました。私は、工場のデータを何らかの処理をするため、サービスからのデータを工場に送る必要があります。コードは次のとおりです。AngularJS:サービスと工場の間でデータを渡す方法は?
.service('collectDrivers', function($http) {
// Get JSON
$http.get('js/bib.json').success(function(response) {
console.log('ENTERING HTTP GET IN collectDrivers');
console.log('RESPONSE DALAM collectDrivers', response);
// Put all response data into globalArray using loop
for(i = 0; i < response.length; i++) {
// If type is driver, put the uid in globalArray
if(response[i].type == 'driver') {
globalArray[i] = response[i].uid;
}
}
});
return globalArray;
})
.factory('processDriversData', function(collectDriversData) {
// I will be doing some processing in the collected data
// so I want to make sure it is already available in the
// globalArray
console.log('Content of globalArray: ', globalArray);
})
問題は、globalArray
はまだ入力されていません。しかし、コントローラでglobalArrayを呼び出そうとすると、データがそこにあります。では、サービスから工場にデータをどのように渡すのですか?私は角度に新しいので、私が間違っている場合は、私に正しい方法を示してください。
あなたの工場にあなたのサービスや*注入で 'getGlobalArray'方法*サービスを作成します。それから、 '$ scope.globalArray = collectDrivers.getGlobalArray();'。詳細情報:https://docs.angularjs.org/guide/di – DonJuwe