私は$ httpサービス用の角度ファクトリを作成しました。
app.factory('myService', function ($http, $q) {
var deferred = $q.defer();
var responseData = null;
var obj = {};
obj.getData = function(){
$http.get('test.json').success(function(response){
responseData = response;
deferred.resolve(responseData);
}).error(function(response){
deferred.reject(responseData);
});
return deferred.promise;
}
obj.myData = function(){
return responseData;
}
return obj;
});
コントローラ:私は、ブラウザでのネットワークタブを確認したときに、HTTPリクエストが二回
工場作られて、私は応答とコントローラで同じを使用することを取得していますが、問題は次のとおりです。
app.controller('myController', function($scope,myService){
myService.getData().then(function(){
$scope.myDetails = myService.myData();
});
});
私のアプローチでは間違っています。あなたが$http
を返すことができます私のソリューション
私は、このようにすべてをそれをしないでしょうがそこに私にとっては大丈夫です。あなたのアプリケーションで "myController"を2回バインドしていないことは確かですか? – Walfrat