何らかの理由で、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? 約束?