2
を呼び出して、私は私は2つのコントローラがCTRL1を言う必要があり、この角度は、APIを減らす私はクラスを取得するためのAPI呼び出しを持って一つのサンプルアプリケーションを作成してい
appServices.service('classService', ['$http', '$q',
function($http,$q){
this.getClass = function() {
var classes = $q.defer()
$http.get("http://localhost:8080/school/4/classes")
.then(function(data) {
classes.resolve(data)
});
return classes.promise
}
}])
のためのサービスを作成している
http://localhost:8080/school/4/classes
を言いますそして、CTRL2は、両方に私は私の問題は、2時間のAPI呼び出しが起こるのです
classService.getClass().then(function(data) {
$scope.classList = data.data.classes
})
としてのサービスのためのコードを持っています私のデータが変更されないため、多くのAPIコールを1つに減らすことはできますか?それは冗長だとして、あなたが$q
を使用してはならないこと、
app.service('classService', ['$http', function($http) {
this.getClass = function() {
return $http.get('data.json', { cache: true }).then(function(response) {
return response.data;
});
};
}])
注:私はすでにcache
オプションを使用する{ cache: true }
が、運と
おかげ
あなたは、デバッグしようとしているあなたの 'コントローラ? 'classService.getClass()'メソッドが呼び出されているとき?場合によっては(不正なルーティングや不正なイベントバインディングのため)、メソッドが複数回呼び出されることがあります。だからあなたのこのコードは何の問題もないかもしれません。 – Paritosh