これはかなり単純な質問ですが、私は困惑しています。
私は、http 呼び出しを行い、結果の広範な後処理を行うサービスを持っています。処理された結果を $scope.variable に割り当てて、いくつかの異なるビューで使用したいと考えています。ビューごとに個別のコントローラーがありますが、各コントローラーがサービスを呼び出して、リソースから同じデータを取得し、コントローラーごとに 1 回後処理する必要はありません。
非常に単純化された私はこれを持っています:
myModule.factory ('Data', function ($http, $q) {
getData: $http.get...
processData: this.getData().success(function(data){
... do a ton of cpu intensive processing ...
return processed_data
ctrl1 = function(Data,$scope) {
$scope.data = Data.processData()
}
ctrl2 = function(Data,$scope) {
$scope.data = Data.processData()
etc...
}
明らかに、 $scope.data = Data.processData() を一度だけ設定して、すべてのコントローラーに入力したいと思います。現状では、各コントローラーが個別にサービスを呼び出すため、不要なトラフィックと CPU が作成されます。
単純なものがあると確信していますが、わかりません。すべてのコントローラースコープに共通の変数を定義できる「スーパー」スコープを作成する方法はありますか?
ありがとう、