$http を使用して XML ファイルをフェッチし、それを json オブジェクトに解析するコントローラーがあります。これが「MainCtrl」です。既に XML を読み込んでいるため、$http を再度使用せずに、他のコントローラーで同じ json オブジェクトを取得したいと考えています。
これが私の最初のコントローラーです
angularXML.controller('MainCtrl', ['$scope', '$http','courseDefService', function($scope, $http, courseDefService) {
$http.get(base_url + 'assets/js/angularxml/courseDef.xml').then(function(response) {
var chapters = [];
var courseDef = x2js.xml_str2json(response.data);
console.log(courseDef);
}
そして、これが私の2番目のコントローラーです
angularXML.controller('chapterCtrl', ['$scope', '$routeParams', function($scope, $routeParams) {
$scope.chapterNumber = $routeParams.id;
var chapter = $scope.chapterNumber - 1; /* index starts from zero */
}
私は工場を使う必要があると思います。しかし、私はそれを行う方法がわかりません。ファクトリ内で XML をフェッチする実装を 1 つ試しました。しかし、ファクトリ メソッドを呼び出していたときに、コンソールで確認した別の ajax リクエストを実行していました。
助けてください。