JSON をロードして $rootScope を使用して保存し、コントローラー間で永続化しようとしています。アプリを実行すると、次のエラーが表示されます。
TypeError: Cannot call method 'get' of undefined
$rootScope を導入しようとするまで、 get メソッドは完全に機能していました... 何かアイデアはありますか?
私のサービスは次のようになります。
1 /**
2 * Service to get the quiz data from a JSON source
3 */
4 app.factory('quizService', ['$rootScope', function ($scope, $rootScope, $http) {
5 var promise;
6 var service = {
7 getQuiz: function($scope, $http) {
8 if ( !promise ) {
9 promise = $http.get('QuizFileName.quiz').then(function (response) {
10 return response.data;
11 });
12 }
13 return promise;
14 }
15 };
16 return service;
17 }]);
私のコントローラーは次のようになります。
7 // Get Quiz data from service
8 quizService.getQuiz().then(function(data) {
9 $scope.quiz = data;
10
11 // Redirect to scores if already completed this
12 if($scope.quiz.complete === true) {
13 $location.path('scores');
14 }
15 });