0

何らかの理由で、Angular ロジックに頭を悩ませるのに問題がありますが、これを理解しようと決心しています。

オブジェクトをループして結果をグローバルに保存する関数をアプリケーションの開始時に実行しようとしています。私はサービスを通じてこれをやろうとしています。

最初の質問: .run() を使用してこれを初期化するか、最初のルートのコントローラーで使用する必要がありますか?

ここに私のコードがあります:

var coreServices = angular.module('coreServices', []);

coreServices.service('addObject',["$http","$rootScope", function($http,$rootScope) {
   var _index = {};
   addObj = function(a,b){
      //loop through a  until _index object is built
   }
   // once _index is completely built assign to $rootScope.structure
}]);

私はこれを正しく理解できないようです。$rootScope.structure をコントローラーに記録するたびに、未定義になります。このようなことを行う最善の方法は何ですか? $scope.watch? 約束?

4

1 に答える 1